Rendering an SVG file to a PNG or JPEG in PHP [duplicate]

南笙酒味 提交于 2019-11-26 18:19:55

问题


I've googled as much as I can, but I've only found a PHP class that calls upon Inkscape to render the SVG, so I ask here:

I have a valid SVG file generated in some way (or uploaded by a client). I need to render this into a JPG or PNG using just PHP and/or GDLib, as SVG is not supported by all browsers.

I do not have the option of installing anything, so a class that converts SVG to PNG using GDLib would be the most ideal.


回答1:


Check if ImageMagick is installed (you can find out using phpinfo). If it is, you can use the following code to cover to a PNG.

$image = new Imagick();
$image->readImageBlob(file_get_contents('image.svg'));
$image->setImageFormat("png24");
$image->resizeImage(1024, 768, imagick::FILTER_LANCZOS, 1); 
$image->writeImage('image.png');

There are many threads that discuss this. One that is particularly useful is this thread: Convert SVG image to PNG with PHP



来源:https://stackoverflow.com/questions/10289686/rendering-an-svg-file-to-a-png-or-jpeg-in-php

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!