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

颜色配置文件是嵌入在图像中特定于最初使用的显示媒体的信息片段(基本上与您显示器的颜色配置文件匹配),因此当在另一个媒体上打开相同的图像时,颜色将在打开后调整为更接近您最初在显示器上看到的内容。

尝试使用convert as schneck sugested,如果这不起作用,您也可以从命令行尝试GIMP 。我从未在 cmd 行中亲自使用过它,但它确实支持颜色配置文件,而且我知道它有一些用于批量转换的选项。

于 2009-08-27T13:32:52.743 回答