きつねたぬきだし

ちょっとしたメモ代わりに。

【ハマった】 ImageMagick で作成した画像の色表示がブラウザによって異なる。

ImageMagick とは

画像変換に使う十徳ナイフ的な CLi です。

今回の問題

ChromeSafari とで、 変換した PNG 画像の色合いが違った。 それどころか、置換したはずの色とも違う色が表示されていた。

原因

画像のカラープロファイルがない場合、ブラウザごとに処理が違う。 Safari: スルーする Mobile Safari: 推測する Chrome: 独自の置換をする

( 要出典 )

対策

convert コマンドのオプションに

-set colorspace sRGB

を明示的に加えて、色空間を指定する。

例:

convert -set colorspace sRGB -fill '#FFCCFF' -opaque '#FFFFFF' before.png after.png
# 指定色 #FFCCFF で選択色 #FFFFFF を塗りつぶす。

付記

さらに、モニターのドライバが足りていない場合も、 OS によって処理が異なるので注意。 2 重にめくらましがあると簡単には解決できなくなる。