我对imagejpeg有一个非常奇怪的问题。看看我的代码:
class ImageShow extends PageTemplate{
public static function Grayscale(){
$object = Image::CreateObject($_COOKIE["image"]);
header("Content-Type: image/jpeg");
imagejpeg($object);
imagedestroy($object);
die();
}
}
所以这是我调用的函数,这是Image :: CreateObject:
public static function CreateObject($url){
$url = "temp/".$url;
$imgInfo = getimagesize($url);
switch($imgInfo['mime']){
case 'image/jpeg':
$object = imagecreatefromjpeg($url);
//print 'jpeg';
break;
case 'image/png':
$object = imagecreatefrompng($url);
//print 'png';
break;
case 'image/gif':
$object = imagecreatefromgif($url);
//print 'gif';
break;
default:
return FALSE;
break;
}
return $object;
}
所以我得到了mime-type,但是当我输出对象时,它会显示像这样的非现有图像 - http://s18.postimg.org/dk4f2ji95/Untitled.png
我认为图片对象没问题,因为当我输出没有内容类型标题时,我会得到很多奇怪的符号:)
答案 0 :(得分:0)
今天我了解到如果你在创建图像之前的某个地方有ob_start(),你应该在标题之前清理它......
ob_clean();
header("Content-Type: image/jpeg");
imagejpeg($object);
imagedestroy($object);