我写了个函数,把几个gif合成一个图输出。 在本地输出没什么问题,可是在另一台服务器上输出的图像颜色偏差很大。估计是gd库或者php的与颜色相关的配置在两台机器上不同,我这台可以正常合成,另一台机器不能。但是具体是哪里有问题又查不到。手册查了也没有,不知道谁有相类似的经验可以分享一下吗用到的函数大概有以下
imagecreatefromgif
imagecopyresized
imagejpeg

解决方案 »

  1.   

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

  2.   

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

  3.   

    不同版本的 GD,可能出现不同的效果。这是毋庸置疑的通常要
    imagecopyresized 与 imagecreate
    imagecopyresampled 与 imagecreatetruecolor
    搭配使用gd2 中应首选后者
      

  4.   


    哦 在Php手册中查到一段(imagecopyresized 或 imagecopyresampled 下都有)Note: 因为调色板图像限制(255+1 种颜色)有个问题。重采样或过滤图像通常需要多于 255 种颜色,计算新的被重采样的像素及其颜色时采用了一种近似值。对调色板图像尝试分配一个新颜色时,如果失败我们选择了计算结果最接近(理论上)的颜色。这并不总是视觉上最接近的颜色。这可能会产生怪异的结果,例如空白(或者视觉上是空白)的图像。要跳过这个问题,请使用真彩色图像作为目标图像,例如用 imagecreatetruecolor() 创建的。 
    而在imagecreatetruecolor下又查到
    Note: 本函数不能用于 GIF 文件格式。 
    而我们必须用gif文件,因为要背景能够透明(png貌似好像也能行?)看来这个问题无解了
      

  5.   


    GD库已经停止对gif图像的支持,你可以考虑png格式的图片。