加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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中有一个非常标准的图像大小调整实现.然而,一些图像以绿色色调出现.

这是原始的:
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进行大小调整(我相信可以识别??颜色配置文件).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读