PHP Conference Japan 2024

Imagick::evaluateImage

(PECL imagick 2, PECL imagick 3)

Imagick::evaluateImage将表达式应用于图像

描述

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

将算术、关系或逻辑表达式应用于图像。使用这些运算符可以使图像变亮或变暗,增加或减少图像的对比度,或产生图像的“负片”。

参数

op

评估运算符

constant

运算符的值

channel

提供对你的通道模式有效的任何通道常量。要应用于多个通道,请使用按位运算符组合channeltype常量。请参考此通道常量列表

返回值

成功时返回true

错误/异常

错误时抛出ImagickException。

示例

示例 #1 使用 Imagick::evaluateImage()

使用evaluateImage降低图像的不透明度。

<?php
// 使用图像创建新对象
$im = new Imagick('example-alpha.png');

// 将alpha降低50%
$im->evaluateImage(Imagick::EVALUATE_DIVIDE, 2, Imagick::CHANNEL_ALPHA);

// 输出图像
header("Content-Type: image/png");
echo
$im;
?>

添加注释

用户贡献的注释 1 条注释

1
nils dot rocine at gmail dot com
12 年前
将JPG源文件转换为半透明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);
?>
To Top