如何识别图像是否具有嵌入的 sRGB icc 配置文件?
How to identify if an image have an embed sRGB icc profile?
我想从我的图像中删除他们的 sRGB 配置文件(如果有的话)。我不知道如何识别图像具有 sRGB 配置文件的问题。有什么好的方法吗?
在 Imagemagick 中,使用
convert image.suffix -format "%[profiles]\n" info:
或
convert image.suffix -format "%[profile:icc]\n" info:
除非你的 Imagemagick 版本太旧。
例如:
convert logo.jpg -format "%[profiles]\n" info:
icc
convert logo.jpg -format "%[profile:icc]\n" info:
sRGB built-in
请不要接受作为答案,因为 Fred 已经为您指明了方向,但这里是您可以使用 PHP Imagick 获取配置文件的方法:
$img = new Imagick('image.jpg');
$img->setOption('format','%[profiles]');
$img->setImageFilename('info:');
$fd = fopen('php://memory','rwb');
$img->writeImageFile($fd);
fseek($fd, 0);
$info = fread($fd, 1024);
fclose($fd);
var_dump($info);
示例输出
string(18) "app12,exif,icc,xmp"
我想从我的图像中删除他们的 sRGB 配置文件(如果有的话)。我不知道如何识别图像具有 sRGB 配置文件的问题。有什么好的方法吗?
在 Imagemagick 中,使用
convert image.suffix -format "%[profiles]\n" info:
或
convert image.suffix -format "%[profile:icc]\n" info:
除非你的 Imagemagick 版本太旧。
例如:
convert logo.jpg -format "%[profiles]\n" info:
icc
convert logo.jpg -format "%[profile:icc]\n" info:
sRGB built-in
请不要接受作为答案,因为 Fred 已经为您指明了方向,但这里是您可以使用 PHP Imagick 获取配置文件的方法:
$img = new Imagick('image.jpg');
$img->setOption('format','%[profiles]');
$img->setImageFilename('info:');
$fd = fopen('php://memory','rwb');
$img->writeImageFile($fd);
fseek($fd, 0);
$info = fread($fd, 1024);
fclose($fd);
var_dump($info);
示例输出
string(18) "app12,exif,icc,xmp"