在laravel中将.heic图像转换为jpg图像格式

pri*_*iya 3 laravel imagemagick-convert heic

我添加了干预/图像包来转换 Laravel 中的图像格式。

图像转换成功,但上传后图像质量太差。

原图 原图

上传的图片 上传的图片

图像模糊

$img =(string) Image::make($image['base64'])
    ->resize(500, 500)->encode('jpg',100);;
$img = base64_encode($img);
Run Code Online (Sandbox Code Playgroud)

Qua*_*ass 5

要转换 Heic 图像,您必须使用 imagick,您可以改用它吗

这是如何安装https://ourcodeworld.com/articles/read/645/how-to-install-imagick-for-php-7-in-ubuntu-16-04

try {
    $image = new \Imagick();
    $image->readImageBlob($image['base64']));
    $image->setImageFormat("jpeg");
    $image->setImageCompressionQuality(100);
    $image->writeImage($targetdir.$uid.".jpg"); 
} 
catch (\ImagickException $ex) {
    /**@var \Exception $ex */
    return new JSONResponse(["error" => "Imagick failed to convert the images, check if you fulfill all requirements." , "details" => $ex->getMessage()], Http::STATUS_INTERNAL_SERVER_ERROR);
}
Run Code Online (Sandbox Code Playgroud)