0

次のコードを使用して、既存の画像を使用して jpeg 画像を作成しました。これらの画像は、埋め込まれたカラー プロファイル、Adobe1998 カラー プロファイルを使用しています。

header("Content-type: image/jpeg");
$src = imagecreatefromjpeg($upfile);
$dst = imagecreatetruecolor($tn_width, $tn_height);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $tn_width, $tn_height, $width, $height);
imagejpeg($dst,NULL,100);
imagedestroy($src);
imagedestroy($dst);

ここでの問題は、画像が表示されたときに、埋め込まれたカラー プロファイルが表示されないことです。誰でも私を助けることができますか?何が問題なのですか?

前もって感謝します

4

2 に答える 2

1

imagecratefromjpeg() は GD2-Lib を使用しますが、これはカラー プロファイルをサポートしていないようです。次のように imagemagick を使用して画像のサイズを変更することを検討する必要があります。

convert mypicture.jpg -resize 50%  resized.jpg

カラー プロファイルが画像に残っている必要があります。

于 2009-08-27T12:42:15.037 に答える
0

カラー プロファイルは、元の表示メディアに固有の画像に埋め込まれた情報です (基本的には、モニターのカラー プロファイルと一致します)。そのため、同じ画像を別のメディアで開いた場合、別のメディアで開いた後に色が調整されます。モニターで最初に見たものとより厳密に一致します。

シュネックが推奨するように変換を使用してみてください。それが機能しない場合は、コマンドラインからGIMPを試すこともできます。個人的にコマンドラインから使用したことはありませんが、カラープロファイルをサポートしており、バッチ変換のオプションがいくつかあることは知っています.

于 2009-08-27T13:32:52.743 に答える