php合成gif图颜色偏差很大

ycnxz 2011-10-26 03:25:31
我写了个函数,把几个gif合成一个图输出。 在本地输出没什么问题,可是在另一台服务器上输出的图像颜色偏差很大。

估计是gd库或者php的与颜色相关的配置在两台机器上不同,我这台可以正常合成,另一台机器不能。但是具体是哪里有问题又查不到。手册查了也没有,不知道谁有相类似的经验可以分享一下吗

用到的函数大概有以下
imagecreatefromgif
imagecopyresized
imagejpeg
...全文
188 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
ycnxz 2011-10-27
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ohmygirl 的回复:]

imagecopyresized()函数。
图像将以一半大小输出,不过可以用 imagecopyresampled() 得到更好的质量。
你可以试试.....
[/Quote]

这个我明天试试,先谢了
ycnxz 2011-10-27
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 baoxiaohua 的回复:]

搞不好跟你的显示器有关系!你是在同一台显示器上看的吗?
[/Quote]

应该不是显示器问题,说了除了运行时间上先后的区别,应该没有别的区别了基本上。

我估计原因是gd库“不稳定”,代码有时运行正常,有时可能其中某步骤失败了,但还是能输出。但就是不知道具体原因
xuzuning 2011-10-27
  • 打赏
  • 举报
回复
不同版本的 GD,可能出现不同的效果。这是毋庸置疑的

通常要
imagecopyresized 与 imagecreate
imagecopyresampled 与 imagecreatetruecolor
搭配使用

gd2 中应首选后者
kyzy_yy_pm 2011-10-27
  • 打赏
  • 举报
回复
gd库处理的就这样,我也遇见过
ycnxz 2011-10-27
  • 打赏
  • 举报
回复
ok 结贴了 一点点分 随便乱分分 不好意思啊
ohmygirl 2011-10-27
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 ycnxz 的回复:]

引用 8 楼 xuzuning 的回复:

不同版本的 GD,可能出现不同的效果。这是毋庸置疑的

通常要
imagecopyresized 与 imagecreate
imagecopyresampled 与 imagecreatetruecolor
搭配使用

gd2 中应首选后者


哦 在Php手册中查到一段(imagecopyresized 或 imagecop……
[/Quote]

GD库已经停止对gif图像的支持,你可以考虑png格式的图片。
ycnxz 2011-10-27
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 xuzuning 的回复:]

不同版本的 GD,可能出现不同的效果。这是毋庸置疑的

通常要
imagecopyresized 与 imagecreate
imagecopyresampled 与 imagecreatetruecolor
搭配使用

gd2 中应首选后者
[/Quote]

哦 在Php手册中查到一段(imagecopyresized 或 imagecopyresampled 下都有)

Note: 因为调色板图像限制(255+1 种颜色)有个问题。重采样或过滤图像通常需要多于 255 种颜色,计算新的被重采样的像素及其颜色时采用了一种近似值。对调色板图像尝试分配一个新颜色时,如果失败我们选择了计算结果最接近(理论上)的颜色。这并不总是视觉上最接近的颜色。这可能会产生怪异的结果,例如空白(或者视觉上是空白)的图像。要跳过这个问题,请使用真彩色图像作为目标图像,例如用 imagecreatetruecolor() 创建的。


而在imagecreatetruecolor下又查到
Note: 本函数不能用于 GIF 文件格式。


而我们必须用gif文件,因为要背景能够透明(png貌似好像也能行?)

看来这个问题无解了
ohmygirl 2011-10-26
  • 打赏
  • 举报
回复
imagecopyresized()函数。
图像将以一半大小输出,不过可以用 imagecopyresampled() 得到更好的质量。
你可以试试.....
baoxiaohua 2011-10-26
  • 打赏
  • 举报
回复
搞不好跟你的显示器有关系!你是在同一台显示器上看的吗?
ohmygirl 2011-10-26
  • 打赏
  • 举报
回复
贴出你代码和相应GD库的版本,才好帮你分析啊.....
ycnxz 2011-10-26
  • 打赏
  • 举报
回复
怎么没有一个人回答,是没人遇到过类似的问题,还是没人知道怎么办?

最新的一个细节:其实在有问题的机器上,合成图片也并不是总是出问题,设置同样的几个gif合成新图片,参数也都一样,有的时候合成出来的图片颜色偏差很大,有时合成出来的图片正常——除了运行时间上的先后,可以说生成图片代码没有任何区别

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧