PNG は透過色をサポートしている。で、タイトルに書いたように背景が透過色(というか透明)な画像から ImageMagic の convert
コマンドで JPEG のサムネイルを作ると、もともと透明だった背景が黒くなってしまう。
これまでサムネイルだからいいか、と放置してたんだけど、↓このページで解決法を見つけた。
cf. 透明度を含む画像を JPEG に変換する時の背景色 – [awm-Tech]
これまではこうやってサムネイルを作ってた。
takatoh@apostrophe $ convert -thumbnail 200x200 src.png thumbnail.jpg
だけどこれだと背景が黒くなってしまう。
そこでこうする。
takatoh@apostrophe $ convert -thumbnail 200x200 -flatten src.png thumbnail2.jpg
これだと背景が白くなる。-flatten
オプションの意味が、調べてもいまいちよくわからなかったんだけど、元画像の後ろに白いレイヤーを重ねているみたいだ。-background
オプションも使えて、例えば次のようにすると背景が赤くなる。
takatoh@apostrophe $ convert -thumbnail 200x200 -flatten -background red src.png thumbnail3.jpg
-background
のデフォルトが白みたい。
ともかく、これからは -flatten
をつけるようにしよう。