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