需要帮助PHP GD imagesetpixel()

时间:2011-07-12 13:16:28

标签: php image gd pixels

$imageurl = "kaptka.gif";
$im = imagecreatefromgif($imageurl);
$b = imagecolorallocate($im, 0, 0, 0);
imagesetpixel($im, 5, 5, $b);

header('Content-Type: image/gif');
imagegif($im, "asd.gif");

kaptka.gif是正常的gif图像。我想在图像的任何地方绘制一些像素。 Asd.gif看起来很正常,但是当我打开文件时,它应该像asd.gif一样显示我,但它只显示“IMAGE”文本。

1 个答案:

答案 0 :(得分:0)

您正在使用文件名调用函数imagegif()。这会将图像写入光盘。要显示内容,只需在没有文件名的情况下调用它:这会将内容传递给输出流,这意味着它将被发送到客户端的浏览器。一种方法是两次调用,一次保存文件,一次显示。

保存文件时,您可以将结果分配给变量$foo=imagegif($im, 'bar.gif'),然后检查结果以查看保存是否成功。 A FALSE意味着它失败了。

您说保存到服务器的图像是正常的,因此您在浏览器中获取“IMAGE文本”的原因可能是因为您发送的是PNG标头,但没有数据(因为您调用的方式为{{ 1}})。