在PHP中将SVG文件渲染为PNG或JPEG

Dan*_*dux 12 php svg gdlib

我尽可能多地使用Google搜索,但我只找到了一个调用Inkscape来渲染SVG的PHP类,所以我在这里问:

我有一个有效的SVG文件以某种方式生成(或由客户端上传).我需要使用PHP和/或GDLib将其渲染为JPG或PNG,因为所有浏览器都不支持SVG.

我没有安装任何东西的选项,因此使用GDLib将SVG转换为PNG的类将是最理想的.

Dav*_* Z. 23

检查是否安装了ImageMagick(您可以找到使用phpinfo).如果是,您可以使用以下代码覆盖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');
Run Code Online (Sandbox Code Playgroud)

有许多线程讨论这个问题.一个特别有用的是这个线程: 用PHP将SVG图像转换为PNG

  • 可悲的是,它不是,我无法安装它。我只有 PHP 和 GDLib。GDLib 一定可以。这几乎只是一个翻译,几乎每个 SVG 标签都有一个 GDLib 函数。 (2认同)