略微加速

PHP官方手册 - 互联网笔记

PHP - Manual: Imagick::evaluateImage

2024-12-22

Imagick::evaluateImage

(PECL imagick 2, PECL imagick 3)

Imagick::evaluateImageApplies an expression to an image

说明

public Imagick::evaluateImage(int $op, float $constant, int $channel = Imagick::CHANNEL_DEFAULT): bool

Applys an arithmetic, relational, or logical expression to an image. Use these operators to lighten or darken an image, to increase or decrease contrast in an image, or to produce the "negative" of an image.

参数

op

The evaluation operator

constant

The value of the operator

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

返回值

成功时返回 true

错误/异常

错误时抛出 ImagickException。

范例

示例 #1 Using Imagick::evaluateImage()

Using evaluateImage to reduce opacity in an image.

<?php
// Create new object with the image
$im = new Imagick('example-alpha.png');

// Reduce the alpha by 50%
$im->evaluateImage(Imagick::EVALUATE_DIVIDE2Imagick::CHANNEL_ALPHA);

// Output the image
header("Content-Type: image/png");
echo 
$im;
?>
add a noteadd a note

User Contributed Notes 1 note

up
1
nils dot rocine at gmail dot com
10 years ago
What worked for me to convert a JPG source file to a semi-transparent PNG.

<?php
    $srcImagick
= new Imagick($srcPath);
   
   
$pathTo50Perc = 'transparent1.png';
   
   
$srcImagick->setImageAlphaChannel(Imagick::ALPHACHANNEL_OPAQUE);
   
   
$srcImagick->evaluateImage(Imagick::EVALUATE_DIVIDE, 2, Imagick::CHANNEL_ALPHA);

   
$srcImagick->writeImage($pathTo50Perc);
?>

官方地址:https://www.php.net/manual/en/imagick.evaluateimage.php

北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3