Top > Blog > 2013-05-22
Last-modified: Wed, 22 May 2013 22:33:46 JST

ImageMagickと透過情報

dyn_img:130522_ImageMagickで透過背景が黒.jpg

会社のサーバーを入れ替えようとしてるんだけど、ハマったのでメモ。

社内では、Webアプリでpdfのサムネイルを表示するために、GhostScript と ImageMagick をインストールして、PHP から convert コマンドを呼び出している。

新サーバーの構築で、両方のバージョンを上げたところ、生成されるjpegのサムネイルが真っ黒になる場合あり。

ネットで調べると、先人たちが透過png/gifで背景が黒くなる問題で苦戦している情報が多数あり。jpegに変換しようとしているので、関係無いかと思ったんだけど、pdfからpngに変換してみると、背景が透過で綺麗に変換されてる。

そして、pngをjpegに変換すると、真っ黒!!! まさか、jpegへの変換指示なのに、pngを経由してるの??? うそーん。

古い方のサーバーでPDFからPNGへの変換を試すと、そもそも背景は白になり、透過にはならない。数年前のImageMagickは透過に対応してなかったのか、何なのか。

これ以上時間使えないので、ここで調べるのは中止。これだけでもお役に立てる情報ではないかと。

あ、解決方法は、「-alpha Remove」のオプションを付けるのがよさそう(古いImageMagickは対応していないオプションみたいで怒られる)。オプションの詳細を理解していないけど、「-alpha Off」では解決しなかった。色付きの画像を背景として重ねたりしてる情報もあったけど、どうなんだろ。


追記:ImageMagick のバージョンは6.8.5、GhostScript のバージョン8.7.1。GhostScriptは、9.0.7が最新なんだけど、カラープロファイルの設定を上手く処理できずに断念。ブラウザの対応も揃ってないしね…。




コメント

適当に書いて頂いて構いません。スパム対策があるので、書き込めない場合があります。また、ボタンを押した後にしばらく時間がかかります。

新規コメント(ラジオボタンで親コメント選択可)
お名前

現在、コメントはありません