0

我正在尝试使用 GD imagefilter 将 jpg 图像转换为灰度图像,但我无法将过滤后的图像输出到浏览器上。我使用此代码

<?php 
$thumb="w=250&q=100";
$imgstring = get_image('cover_image',1,1,0,NULL,$thumb);
$im = imagecreatefromjpeg($imgstring);
imagefilter($im, IMG_FILTER_GRAYSCALE);
header("Content-type: image/jpg");
imagejpeg($im);
imagedestroy($im);
?>

**$imgstring 是图片的url 字符串(' http://xxx.xx/image.jpg ')。

对于标题内容行,结果是错误“警告:无法修改标题信息 - 标题已由...发送”,后跟似乎是图像代码(很多问号字符和其他垃圾)。

如果没有标题内容行,结果只是图像代码(?)再次(符号和字符)

怎么了?

4

1 回答 1

1

该错误正是它所说的 - 您的代码中的某些内容导致执行输出,这会终止header()调用,从而阻止设置内容类型。在没有任何有效的内容类型标头的情况下,客户端浏览器假定为文本/纯文本,并将您的 JPEG 图像显示为原始“垃圾”。

你需要弄清楚你的代码在哪里执行了输出(我愿意打赌它在那个get_image()函数中,并消除它。

于 2013-06-03T16:29:50.560 回答