php – 调整大小的图像变成了绿色?有任何想法吗?

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 调整大小的图像变成了绿色?有任何想法吗?脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我们在 PHP中有一个非常标准的图像大小调整实现.然而,一些图像以绿色色调出现.

这是原始的:
http://www.capitallightingfixture.com/product_images/3979WG-514.jpg

这是重新调整大小的:
http://www.capitallightingfixture.com/product_images/5-3979WG-514.jpg

我检查了原始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进行大小调整(我相信可以识别​​颜色配置文件).

脚本宝典总结

以上是脚本宝典为你收集整理的php – 调整大小的图像变成了绿色?有任何想法吗?全部内容,希望文章能够帮你解决php – 调整大小的图像变成了绿色?有任何想法吗?所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。