如果我尝试从现有的.jpeg图像创建新图像,则会显示黑色(空白)图像。
我的代码:
$new_path = 'post/'.time().'-myimage.jpeg';
$src="post/myimage.jpeg";
$jpeg_quality = 90;
$img_r = imagecreatefromjpeg($src);
$dst_r = ImageCreateTrueColor($my_post['w'], $my_post['h']);
imagecopyresampled($dst_r,$img_r,0,0,$my_post['x'],$my_post['y'],$my_post['w'],$my_post['h'],$my_post['w'],$my_post['h']);
header('Content-Type: image/jpeg');
imagejpeg($dst_r, $new_path, $jpeg_quality);
答案 0 :(得分:0)
如果在imagejpeg
中使用文件名,则jpeg不会输出到stdout - 它会保存到给定的文件名中。您必须使用null
作为文件名。
imagejpeg($dst_r, null, $jpeg_quality);
如果您还想保存图片,则必须调用该函数两次,或者使用readfile
等函数将文件内容重定向到服务器。