背景が透過色のPNGのサムネイルを作るときの注意

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 をつけるようにしよう。