将SVG转换为PNG:事情仍然存在,但是有选择

电子邮件士兵网站开发人员Alexander Toporkov



图形格式SVG(可缩放矢量图形)是当今使用最广泛的矢量图形格式,与光栅相比,它在缩放和转换图像方面具有优势。但是有时您需要将SVG转换为PNG(便携式网络图形)-一种位图图形格式。



今天的成像要求很高。从电话到大屏幕,它们到处都应该漂亮。您不能没有矢量图形:徽标,图表,插图最好在矢量中完成-如果在缩放时比较同一图像的不同格式,这将变得显而易见:



将svg转换为png





为什么要将SVG转换为PNG



SVG格式在信息技术标准中已经过时。从2001年第一个版本发布到现在的2011年8月16日已经过去了十年。所有浏览器都支持SVG,看来整个Internet应该已经切换到矢量图形了。但是,使用SVG仍然有许多限制。



例如:



  1. SVG文件不会在大多数电子邮件客户端中显示-有关此主题的研究很好
  2.   RSS, YML (Yandex Market Language)  Google Merchant  SVG- —     .
  3. 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 .




All Articles