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
-
チャネルモードに対応したチャネル定数を指定します。 複数のチャネルに適用するには、 ビット演算子でチャネル型定数を組み合わせます。 チャネル定数 の一覧を参照ください。
戻り値
成功した場合に true
を返します。
エラー / 例外
エラー時に ImagickException をスローします。
例
例1 Imagick::evaluateImage() の使用法
evaluateImage を使って画像の不透明度を減らします。
<?php
// 新しいオブジェクトを画像から作成します
$im = new Imagick('example-alpha.png');
// アルファを 50% に減らします
$im->evaluateImage(Imagick::EVALUATE_DIVIDE, 2, Imagick::CHANNEL_ALPHA);
// 画像を出力します
header("Content-Type: image/png");
echo $im;
?>
+add a note
User Contributed Notes 1 note
nils dot rocine at gmail dot com ¶
12 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);
?>