2
imagickを使用してpdfからjpgへのコンバータの出力を制限するのに問題がありますが、16メガピクセル以上の画像のサイズを変更するだけでは解決できないようです。php imagickでダウンスケーリング
https://stackoverflow.com/a/6387086/3405380私が探している解決策がありますが、私はconvert -resize '[email protected]>' screen.jpg
(私の場合は '16000000 @>'になる)のphp相当を見つけることができません。私は$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;
}
ありがとうございました! – Draecko