1

4x4 ピクセルの画像があります。各ピクセルには、#439902 など、必要な正確な色があります。

gd の関数を使用して画像をパレットに変換し、関数imagetruecolortopalette()を使用して別の定義済みの色に最も近い色を画像から見つけようとします。imagecolorclosest()、色は私の色の 1 つに近いですが、正確な色が必要です。

imagetruecolortopalette()問題は、関数を使用すると、4x4 画像のすべての色がわずかに変化することだと思います。

この問題を回避する方法はありますか?

例として...

( 66,100,39 ) を検索すると、最も近い一致は (76,90,56) です。

元の画像では色が (78,98,43) だったので、76,90,56 が変更されました。私はそれが遠くないことを知っていますが、私はそれが同じままである必要があります

4

2 に答える 2

0

しかし、phpにはすでにこの機能があります:

画像色正確

于 2012-06-10T20:14:45.510 に答える
0

jpg として保存している場合は、圧縮の問題である可能性があります。png は圧縮されず、jpg よりも多くの色があるため、png として保存してみてください。

IM フォーラムから一部のコードを抜粋:

exec("convert square.png[1x1+0+0] -format " .
     "\"%[fx:floor(255*u.r)],%[fx:floor(255*u.g)],%[fx:floor(255*u.b)]\" " .
     "info: 2>&1",$result);
      print_r($result);

これは色を識別し、それはあなたが望むものではないので、ここで間違った方向に進んでいると思いますか?

于 2012-06-10T19:45:56.983 に答える