конвертировать .hei c изображение в формат JPG изображения в laravel - PullRequest
3 голосов
/ 07 апреля 2020

Я добавил вмешательство / изображение пакет для преобразования формата изображения в laravel.

изображение, преобразованное успешно, но после загрузки качество изображения было очень плохим.

Исходное изображение Original Image

Загруженное изображение Uploaded Image

image blur

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

1 Ответ

2 голосов
/ 10 апреля 2020

Чтобы конвертировать Hei c изображение, вы должны использовать 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);
}
...