php';s imagefilter输出垃圾/不显示

php';s imagefilter输出垃圾/不显示,php,drupal,gd,imagefilter,Php,Drupal,Gd,Imagefilter,我正在开发一个主要由图像组成的网站(使用Drupal和php)。当这些图片出现在网站主页上时,它们都会被应用一个深褐色的过滤器 我想使用imagefilter在图像加载到主页面时生成图像,但是当我在过滤器之后应用/打印图像时,它会打印垃圾字符。我试着加上 header(.........); 但只告诉我图像已损坏,无法正确显示。下面是我的代码: //This is the path to the image, it's referenced by what I'm given from Dru

我正在开发一个主要由图像组成的网站(使用Drupal和php)。当这些图片出现在网站主页上时,它们都会被应用一个深褐色的过滤器

我想使用imagefilter在图像加载到主页面时生成图像,但是当我在过滤器之后应用/打印图像时,它会打印垃圾字符。我试着加上

header(.........);
但只告诉我图像已损坏,无法正确显示。下面是我的代码:

//This is the path to the image, it's referenced by what I'm given from Drupal. 
//For Drupalites: I'm loading this manually from view_get_view_result
$image = imagecreatefromjpeg($nodes[0]->images['_original']); 
//Grayscale + colorize = Sepia.
imagefilter($image, IMG_FILTER_GRAYSCALE);
imagefilter($image, IMG_FILTER_COLORIZE, 90, 90, 0);
imagejpeg($image); //I don't want to save the image, so I don't pass a file name
imagedestroy($image);
现在,通过大量的工作和烦恼,我可以使用CSS实现这一点,但这有点像黑客,如果可能的话,我希望避免这样做。我还想提到的是,这些图像将与其他元素一起显示在页面上


如何让它正确显示我的图像过滤器?我用谷歌搜索了我能想到的任何东西,但都没有用。上面的代码是从一个内联显示图像的站点复制的。

垃圾箱的开头是否有一个
JFIF
?是的。我不知道那是什么意思,但打得好!现在怎么办这是jpeg文件格式“幻数”的一部分。所以,如果没有有用的jpeg数据,至少你得到的是jpeg数据。你有没有
header('Content-type:image/jpeg')
告诉浏览器这是一个jpeg文件?我没有这样做是因为两个原因:当我了解到header函数时(我对php和web开发还比较陌生),我的印象是,当标记已经写入到页面时,它不能使用,在这种情况下,它已经并且无法避免。然而,我确实尝试过,但当我尝试时,屏幕上没有任何输出。Firebug显示:我的图像应该在哪里。图像工作正常。如果PHP输出原始图像,则不能用html包围该输出。它必须是JPEG数据,而不是其他符号。您的容器页面将具有
,而yourscript.php将是您在上面发布的代码。