Imagemagick Imagick导致输出解析错误
我正在使用PHP7.2和ImageMagick-7.0.8-12。我正在使用它创建缩略图,如下所示:Imagemagick Imagick导致输出解析错误,imagemagick,imagick,parse-error,php-7.2,Imagemagick,Imagick,Parse Error,Php 7.2,我正在使用PHP7.2和ImageMagick-7.0.8-12。我正在使用它创建缩略图,如下所示: function thumbimg($sourcePath, $thumbPath) { try { if (file_exists($sourcePath)) { $imagick = new Imagick(); $imagick->readImage($sourcePath); $imag
function thumbimg($sourcePath, $thumbPath) {
try {
if (file_exists($sourcePath)) {
$imagick = new Imagick();
$imagick->readImage($sourcePath);
$imagick->setImageFormat("jpg");
header('Content-Type: image/jpeg');
$imagick->writeImage($thumbPath);
$imagick->clear();
$imagick->destroy();
chmod($thumbPath, 0755);
return;
}
} catch (ImagickException $e) {
echo $this->raiseError('Could not save image to file: ' . $e->getMessage(), IMAGE_TRANSFORM_ERROR_IO);
}
return;
}
php脚本确实按照设计返回了一个echo'ed JSON,但是当我查看网络返回预览时,它显示了一个带有该脚本的post链接的空白图像。此行为从以下行开始:
$imagick=new imagick()代码>在此之前,它的行为正常。虽然我确实得到了所需的JSON,但它会干扰其他生成输出的函数。我会寻找另一个Imagick示例,因为您的示例看起来有点混乱。在代码的中间有一个头,用于显示。不知道你为什么有一个chmod,我想如果需要它,它应该在Imagick代码的开头。我也没有看到任何缩略图代码
试试这个:
$im = new Imagick($input);
$im->resizeImage( 100, 100, imagick::FILTER_LANCZOS, TRUE );
$im->writeImage('resizeImage.jpg');
$im->destroy();
(该过滤器是可选的,因为在增大或减小大小时,Imagick将选择要使用的最佳过滤器。)
我想,正如@Mark Setchell所说的,销毁是不必要的,我会寻找另一个Imagick示例,因为您的示例看起来有点混乱。在代码的中间有一个头,用于显示。不知道你为什么有一个chmod,我想如果需要它,它应该在Imagick代码的开头。我也没有看到任何缩略图代码
试试这个:
$im = new Imagick($input);
$im->resizeImage( 100, 100, imagick::FILTER_LANCZOS, TRUE );
$im->writeImage('resizeImage.jpg');
$im->destroy();
(该过滤器是可选的,因为在增大或减小大小时,Imagick将选择要使用的最佳过滤器。)
我想正如@Mark Setchell所说的,销毁是不必要的我相信$imagick->destroy()
已被弃用且不必要。我相信$imagick->destroy()
已弃用且不必要。