JPEGファイルってカラープロファイル(ICCプロファイル)とかいうよく分からないものを埋め込めるんですよね。
JPG以外にもTIFFやPDFにもあるみたいなんですけど。
そのカラープロファイルが埋め込まれている画像ファイルを読み込むと正しい色にならないという問題に気が付きました。
結論として、ImgCtxという古き良き時代(?)の「InternetExplorer」に使われているデコーダを使って読み込むことで解決しました!ちなみにWindows10に標準で入っている画像を扱えるソフト(ブラウザを除く)では「フォト」以外全てカラープロファイルに非対応でした。
その他のフリーソフトでもメジャーなもの以外は非対応が多いです。
例①「PNGmascot」で「BGRプロファイル」が付いているJPEGを読み込んだら変色した時の画像。(元画像は
こちらからお借りしました)
左は修正前、右は修正後。
例②「PNGmascot」で「Adobe RGB (1998)プロファイル」が付いているJPEGファイルを読み込んだら色があせた時の画像。
左は修正前、右は修正後。
これは微妙な差ですがよく見れば鮮やかさが違うのが分かるかと思います。
こういう事が起こりえるので、保存形式はやっぱりPNGが無難で最高ですね。
既に解決済みですので、その他の問題も修正した後にリリース致します!