Imagick 导致输出解析错误
Imagick causing output parseerror
我正在使用 php 7.2 和 ImageMagick-7.0.8-12。我正在使用它来创建这样的缩略图:
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 脚本按设计 return 回显 JSON,但是当我查看网络 return 预览时,它显示空白图像post link 到那个脚本。此行为从 $imagick = new Imagick();
行开始,在此之前它表现正常。虽然我确实得到了想要的 JSON,但它与产生输出的其他函数混淆了。
我会寻找另一个 Imagick 示例,因为您的示例看起来有点乱。您的代码中间有一个 header ,用于显示。不知道为什么你有一个 chmod,我想如果它是必需的,它会在 Imagick 代码的开头。我也没有看到任何缩略图代码。
试试这个:
$im = new Imagick($input);
$im->resizeImage( 100, 100, imagick::FILTER_LANCZOS, TRUE );
$im->writeImage('resizeImage.jpg');
$im->destroy();
(过滤器是可选的,因为 Imagick 会在增加或减小大小时选择最好的过滤器。)
我认为正如@Mark Setchell 所说的那样,销毁是不必要的
我正在使用 php 7.2 和 ImageMagick-7.0.8-12。我正在使用它来创建这样的缩略图:
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 脚本按设计 return 回显 JSON,但是当我查看网络 return 预览时,它显示空白图像post link 到那个脚本。此行为从 $imagick = new Imagick();
行开始,在此之前它表现正常。虽然我确实得到了想要的 JSON,但它与产生输出的其他函数混淆了。
我会寻找另一个 Imagick 示例,因为您的示例看起来有点乱。您的代码中间有一个 header ,用于显示。不知道为什么你有一个 chmod,我想如果它是必需的,它会在 Imagick 代码的开头。我也没有看到任何缩略图代码。
试试这个:
$im = new Imagick($input);
$im->resizeImage( 100, 100, imagick::FILTER_LANCZOS, TRUE );
$im->writeImage('resizeImage.jpg');
$im->destroy();
(过滤器是可选的,因为 Imagick 会在增加或减小大小时选择最好的过滤器。)
我认为正如@Mark Setchell 所说的那样,销毁是不必要的