4

以下のコードを使用してポラロイド効果を作成しますが、周囲に透明な効果がないと本当に気が散ります。

<?php
/* Create the object */
$image = new Imagick('wood.png');

/* Set the opacity */
$image->polaroidImage(new ImagickDraw(), 25);

/* output the image */
header('Content-type: image/png');
echo $image;

?>

http://photoapp.biz/polaroid/test.phpのような結果が得られます

元画像はhttp://photoapp.biz/polaroid/wood.png

問題は何ですか?これは、私が試した 10 枚のほぼすべての画像で発生します。

例:

ここに画像の説明を入力

4

3 に答える 3

0

透明度はImagick::setImageOpacityで設定します

$image->setImageOpacity(0.7);

それに加えて、別の画像形式で作業する必要があるかもしれません:

とはいえ、一部の Web ブラウザでは透明な「PNG」画像が正しく表示されません (最も顕著なのは Microsoft Internet Explorer v6 ですが、IE v7 では表示されます)。このため、私は通常、JPEG と GIF の画像形式を使用することを好み、半透明のピクセルを含む画像を生成する場合や、後の例で正確な色が必要な場合にのみ PNG を使用します。

ソース: http://www.imagemagick.org/Usage/#PNG

編集1

試す

$image->setBackgroundColor(new ImagickPixel('transparent'));

于 2012-09-27T13:54:47.703 に答える
0

私が間違っている場合は訂正してください。しかし、あなたは本当にアンチエイリアシングについて質問しているのではないでしょうか?

http://www.imagemagick.org/Usage/antialiasing/

于 2012-09-27T14:07:05.983 に答える
0

この関数http://php.net/manual/en/function.imageantialias.phpを試してください。

それがすることは次のとおりです。

ここに画像の説明を入力

IMAGIC はさまざまな方法でコンパイルでき、環境が異なれば影響も異なる可能性があることに注意してください。

于 2012-09-27T14:12:14.000 に答える