Imagick::evaluateImage

(PECL imagick 2.0.0)

Imagick::evaluateImage式を画像に適用する

説明

bool Imagick::evaluateImage ( int $op , float $constant [, int $channel = Imagick::CHANNEL_ALL ] )

算術演算、関係演算、論理演算などを画像に適用します。 これらの演算子を使用すると、画像の明度を変えたりコントラストを変えたり、 あるいは画像の "ネガ" を作成したりすることができます。

パラメータ

op

評価演算子。

constant

演算子の値。

channel

チャネルモードに対応したチャネル定数を指定します。 複数のチャネルに適用するには、 ビット演算子でチャネル型定数を組み合わせます。 チャネル定数 の一覧を参照ください。

例1 Imagick::evaluateImage() の使用法

evaluateImage を使って画像の不透明度を減らします。

<?php
// 新しいオブジェクトを画像から作成します
$im = new Imagick('example-alpha.png');

// アルファを 50% に減らします
$im->evaluateImage(Imagick::EVALUATE_DIVIDE2Imagick::CHANNEL_ALPHA);

// 画像を出力します
header("Content-Type: image/png");
echo 
$im;
?>

返り値

成功した場合に TRUE を返します。

エラー / 例外

エラー時に ImagickException をスローします。

add a note add a note

User Contributed Notes 1 note

up
0
nils dot rocine at gmail dot com
5 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);
?>
To Top