classics.

2008/12/01 Monflickr

ImageMagickで透過ファイルをjpegとかにするときに透過色が黒くなる問題

kichikutterとかnocotterではPHP+ImageMagickで画像処理してるんですけど、透過ファイルからjpegに変換するときに透過色が黒くなる問題があって、白にしたかったのをなおせたっぽいので書いておく。バージョンはよく分からないけど古いかも。

サンプル
$icon = file_get_contents('http://s3.amazonaws.com/twitter_production/profile_images/65737920/oquno-c_bigger.png');
$image = new Imagick();
$image->readImageBlob($icon);
$image->thumbnailImage(48, 0);
$image->paintOpaqueImage(new ImagickPixel('rgba( 0, 0, 0, 0.0)'), new ImagickPixel('white'), 0);
$image->setImageFileName('/var/www/html/hoge/image/oquno_icon.jpg');
$image->writeImage();

ちなみに、なんか thumbnailImage の前に paintOpaqueImage やると黒くなったままになって、そこではまった。

Trackbacks

Comments

Comment form