【发布时间】:2017-05-04 07:58:09
【问题描述】:
我在使用 imagick 限制 pdf 到 jpg 转换器的输出时遇到问题,但我似乎无法找到仅调整大于 16 兆像素的图像大小的正确解决方案。
https://stackoverflow.com/a/6387086/3405380 有我正在寻找的解决方案,但我找不到 convert -resize '180000@>' screen.jpg 的 php 等效项(在我的情况下是 '16000000@>')。我试过$imagick->resizeImage(Imagick::RESOURCETYPE_AREA, 4000 * 4000);,但这只是切断了转换而不是调整大小。
public static function storeFilePdfToJpg($file) {
$destinationPath = public_path() . Config::get('my.image_upload_path');
$filename = str_random(10) . '_' . str_replace('.pdf', '', $file->getClientOriginalName()) . '.jpg';
$imagick = new Imagick();
$imagick->setResolution(350,350);
$imagick->readImage($file->getPathName());
$imagick->setImageCompression(imagick::COMPRESSION_JPEG);
$imagick->setImageCompressionQuality(100);
$imagick->resizeImage(Imagick::RESOURCETYPE_AREA, 4000 * 4000);
$imagick->writeImages($destinationPath . '/' . $filename, false);
return Config::get('my.full_image_upload_path') . $filename;
}
【问题讨论】:
标签: php image-resizing imagick