先日案件で、色の選択にカラーピッカーのインターフェイスを実装することがあり、 Webセーフカラーの一覧画像からgetPixelで色の情報を取り出すようなものを作ったのですが なぜか、セーフカラーではなく「#980032」とか微妙に違う値が取れる。 カラーマップとして使ってる元画像の色情報がそもそも違うのかなと思って見てみたけど問題なし。 実装でやらかしてるのかなーと思って調べたけどコチラも問題なし。 FLASHでパブリッシュして実行中の画面をキャプチャしてマップの色を調べると色が違う! もちろん、画像のプロパティは「劣化なし」。「劣化なし」のはずなのに劣化してる! 原因は結局よくわかりませんでしたが、FLASHはパブリッシュ時にPNG32(PNG24)を 最適化して容量下げてくれる機能があるので、その圧縮過程で色情報が変わっちゃった気がします。 (もしかしてFlashCS4だけかも。) 2
![PNG32 + Flash の罠 | _level0 - KAYAC Front Engineer Blog](https://cdn-ak-scissors.b.st-hatena.com/image/square/eec6dd9c513f0d18c25bcb4b99f8892072a31ff5/height=288;version=1;width=512/http%3A%2F%2Flevel0.kayac.com%2Fimg%2Fogp%2FFlash.png)