Imagick 将 adobeRGB 转换为 sRGB 不要保留 PHP



我必须使用具有PHP GD的图像。问题是当我复制原始图片时,颜色不一样。

人们告诉我将我的JPG转换为srgb profil而不是adoberpg。

所以我做到了:

$image = new Imagick($chemin_image);
// Essayer de mettre en SRGB si ce n'est pas le cas
$icc_srgb = file_get_contents('../../admin-cache/outils/sRGB_IEC61966-2-1_black_scaled.icc');
$image->setImageProfile('icc' , $icc_srgb);
$image->setImageColorspace(Imagick::COLORSPACE_SRGB);
$image->writeImage($chemin_image);

但是,这不会改变任何东西,我的图片仍然没有原始:

rgb-picture

我去了Facebook,看看他在自己的上传系统中的表现,我尝试了我的照片,结果是:

Facebook转换

这很好,但是我不知道他们是如何做的。

您可以在PHP和IM V6中使用此图片数据:

system( "identify -verbose bfbf1b7ec569ff2ba4c451d48e9d39d8.jpg" );

查看您的前两张照片,一张隔开了,另一张照片却没有,质量略有不同。当您到达配置文件时,它们与众不同:

配置文件: Profile-8Bim:62字节 个人资料-ICC:3048字节 profile-iptc:50个字节 Byline [2,80]:Donnemoifaim 版权字符串[2,116]:版权所有2016,Donnemoifaim

配置文件: profile-8bim:116字节 个人资料-ICC:3048字节 profile-iptc:103字节 特殊说明[2,40]:FBMD01000A840D0000D95D95D0000BAA200001CAD0000000070BC0000A8CE00000C290100FA3C0100FC0100FC4100100100B966666010071110200

但是您不知道Facebook代码在做什么;它可能会增加一些锐化或其他的凌乱。

最新更新