php – 调整大小的图像变成了绿色?有任何想法吗?
发布时间:2020-12-13 17:06:04 所属栏目:PHP教程 来源:网络整理
导读:我们在 PHP中有一个非常标准的图像大小调整实现.然而,一些图像以绿色色调出现. 这是原始的: http://www.capitallightingfixture.com/product_images/3979WG-514.jpg 这是重新调整大小的: http://www.capitallightingfixture.com/product_images/5-3979WG-5
我们在
PHP中有一个非常标准的图像大小调整实现.然而,一些图像以绿色色调出现.
这是原始的: 这是重新调整大小的: 我检查了原始jpg上的颜色配置文件,它是RGB. 这是我的PHP的调整大小部分: if (function_exists("gd_info")){ $dst_img = imagecreatetruecolor($thumb_width,$thumb_height); }else{ $dst_img = imagecreate($thumb_width,$thumb_height); } if(@imagecopyresampled($dst_img,$src_img,$thumb_width,$thumb_height,$origw,$origh)){ }else{ imagecopyresized($dst_img,$origh); } imagedestroy($src_img); imagejpeg($dst_img,'',85); 解决方法
RGB不是颜色配置文件,它是一个颜色空间.有效的颜色配置文件将是(例如)sRGB和Adobe RGB.如果您检查链接到的图像,您将看到原始图像嵌入了sRGB IEC61966-2.1颜色配置文件,并且调整大小没有颜色配置文件,因此它将根据假设具有的配置文件以不同方式显示.
不幸的是,我不认为PHP中的GD图像功能会关注颜色配置文件.您可以尝试通过Photoshop保存图像以便将它们转换为通用sRGB配置文件,或使用ImageMagick进行大小调整(我相信可以识别??颜色配置文件). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |