电子邮件士兵网站开发人员Alexander Toporkov
图形格式SVG(可缩放矢量图形)是当今使用最广泛的矢量图形格式,与光栅相比,它在缩放和转换图像方面具有优势。但是有时您需要将SVG转换为PNG(便携式网络图形)-一种位图图形格式。
今天的成像要求很高。从电话到大屏幕,它们到处都应该漂亮。您不能没有矢量图形:徽标,图表,插图最好在矢量中完成-如果在缩放时比较同一图像的不同格式,这将变得显而易见:
为什么要将SVG转换为PNG
SVG格式在信息技术标准中已经过时。从2001年第一个版本发布到现在的2011年8月16日已经过去了十年。所有浏览器都支持SVG,看来整个Internet应该已经切换到矢量图形了。但是,使用SVG仍然有许多限制。
例如:
- SVG文件不会在大多数电子邮件客户端中显示-有关此主题的研究很好。
- RSS, YML (Yandex Market Language) Google Merchant SVG- — .
- SVG OpenGraph ( HTML- , ). , : Facebook SVG.
, — , . , .
— , , . , , , , , .
( ) SVG-: . SVG PNG — YML-, Mindbox , .
SVG PNG — . SVG: , — . .
: PHP ImageMagick
ImageMagick — , Photoshop. PHP. PHP- Imagick, PHP.
SVG PNG :
<?php
$imagick = new Imagick();
$fp = fopen(‘image.svg’, ’rb’);
$imagick->readImageFile($fp);
$imagick->setImageFormat("png8«); //png8 — png c 8-
$imagick->writeImage(‘image.png’);
fclose($fp);
. , SVG ImageMagick , libmagickcore-6.q16-3-extra. , Debian Linux, .
:
sudo apt-get install libmagickcore-6.q16-3-extra
SVG. . , : , . , «».
, . ? , , $imagick->readImageFile, 5%. .
, , . , , .
ImageMagick - . / . - , ImageMagic .
: Node.js
PHP , , — JavaScript. Node.js.
SVG : PhantomJS, — Headless Chrome. , , Chrome-, . , , . , SVG , ( ). .
: , SVG PNG . , , — node.js.
, - . .
— . . .
— .
:
— , . PHP-. . .
ImageMagick.
<?php
$cline = ‘convert image.svg image.png’;
shell_exec($cline);
?>
ImageMagick , . , - ImageMagick, .
SVG. Inkscape. , , :
sudo apt-get install inkscape
:
<?php
$cline = inkscape -z --export-png=image.png image.svg’;
shell_exec($cline);
?>
: SVG .
<?php
$cline = inkscape -z --export-png=image.png -w 1000 image.svg’;
shell_exec($cline);
?>
: Inkscape , ImageMagick, SVG- PNG. . SVG- YML-: .
Inkspace ImageMagic .
, : Google, Facebook, Yandex. IT- SVG? , , .
, , 10 .