У меня есть строка, содержащая разметку для элемента svg.
<svg id="someId" width="300" height="300"> <polygon id="another_id" fill="green" stroke="black" stroke-width="5" points="200,100 131,5 19,41 19,159 131,195 "></polygon> </svg>
Как я могу прочитать эту строку в Imagick и отобразить ее.
$svg = '<svg id="someId" width="300" height="300"><polygon id="another_id" fill="green" stroke="black" stroke-width="5" points="200,100 131,5 19,41 19,159 131,195 "></polygon> </svg>'; $image = new Imagick(); // This is not working. $image->readImageBlob($svg); $image->setImageFormat("png"); header("Content-Type: image/png"); echo $image;
Как я могу прочитать эту строку svg, чтобы я мог продолжать делать другие вещи. благодаря
Вы должны добавить <?xml version="1.0"?>
В начале переменной $ svg.
Этот код работает для меня:
$svg = '<?xml version="1.0"?><svg id="someId" width="300" height="300"><polygon id="another_id" fill="green" stroke="black" stroke-width="5" points="200,100 131,5 19,41 19,159 131,195 "></polygon></svg>'; $image = new Imagick(); $image->readImageBlob($svg); $image->setImageFormat("png"); header("Content-Type: image/png"); echo $image;