[PHP-users 13894] Re: GDを利用してイメージ変更処理後の色

FUJIMOTO Yoshihiko php-users@php.gr.jp
Wed, 12 Mar 2003 14:16:51 +0900


> 皆さん、こんにちは、福沢と申します。

福沢さんこんにちは。藤本と申します。

状況は異なりますが、似た様な現象に出会ったことがありましたので、投稿い
たします(外してたらスミマセン)。

環境は

Laser5 SecureServer 6.9 +
PHP4.2.3-multibyte + Apache-1.3.27 + GD-1.6.2(OS付属のRPM)
 + PDFlib-4.0.3 + PostgreSQL-7.1.3 + 他

です。

> 問題点:
> 変換されたイメージの色は元の画像と比べると、色の鮮やかさがかなり落ちっていま
> す。
> 例:ブルーが多い画像なら、変換された画像はブルーのフィルムに被されているよう
> にみえます。
> 黒の服を着ていた人の画像なら、白黒の画像になったりする。
> また、同じのやり方で、JPEGからPNGに変換する時も同じ現象が起きていま
> す。

私は、イメージサイズの縮小と90度回転を行った際に、色が変わってしまった
ことがありました(まるでフォトレタッチソフトで「絵画調」とか「色鉛筆」
等のフィルタでもかけた様な感じでした)。

その時は、リサイズ+回転先のイメージ($imgAFT)を生成

$imgAFT=imageCreate($thumbY,$thumbX);

した後、元イメージ($im1)と変換先イメージでカラーパレットのコピー

$HOGE=imagePaletteCopy($imgAFT,$im1);

を行ってから変換処理することで解決できました。

お試しください。