10

つまりね。

私は、透明な画像に関して、次のようなPHPの単純なスニペットを持っています。

$im = new Imagick('some-transparent-image.png');
$im->setImageOpacity(0.3);
$im->writeImage('output.png');

ファイル出力は不透明度の低い透明な画像である必要がありますよね?

さて、出力は、透明であるはずの黒色の画像であり、画像の不透明度はまったく同じです。

それは構成と関係がありますか、それとも何かが足りませんか?

前もって感謝します

4

1 に答える 1

33

残念ながら、setImageOpacityは画像全体に影響を与えるため、透明な領域を透明のままにするには、次のように置き換えます。

$im->setImageOpacity(0.3); 

と :

$im->evaluateImage(Imagick::EVALUATE_MULTIPLY, 0.3, Imagick::CHANNEL_ALPHA);
于 2010-08-30T18:09:54.203 に答える