Преобразование SVG в PNG генерирует пустое изображение

Я прошел через много подобных вопросов. Я не мог найти ответ на свою проблему.

у меня есть svg образ. Я пытаюсь преобразовать его в изображение PNG.

Я использовал 300dpi изображение как background SVG изображения. Теперь я изменил его 600dpi, После этого imagick возвращает пустое изображение в формате png

            $svg=path to svg;
$im = new Imagick();
$im->readImageBlob($svg);
$im->setImageFormat("png32");
$im->setImageCompressionQuality(100);
$im->resizeImage(720, 445, imagick::FILTER_LANCZOS, 1);
$base64=base64_encode($im);
$im->clear();
$im->destroy();
return 'data:image/jpg;base64,' . $base64; //returns blank png

Что мне здесь не хватает? Нужно ли включать какие-либо библиотеки?

ВЕРСИЯ PHP: 7

ВЕРСИЯ ИЗОБРАЖЕНИЯ: ImageMagick 6.8.9-9

1

Решение

Глядя на документацию Imagick::readImageBlob

Читает изображение из двоичной строки

это кажется неправильным методом для чтения из пути к файлу.
Вы должны либо использовать Imagick::readImage

Читает изображение из имени файла

$im = new Imagick();
$im->readImage($svg);

или конструктор Imagick::__construct

Imagick::__construct ( mixed $files )

Создает экземпляр Imagick для указанного изображения или набора изображений.

$im = new Imagick($svg);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]