Conversion de SVG en PNG: et les choses sont toujours lĂ , mais il y a des options

Par Alexander Toporkov, développeur Web chez Email Soldiers



Le format graphique SVG (Scalable Vector Graphics) est le format graphique vectoriel le plus répandu aujourd'hui, qui se compare favorablement avec le raster, principalement la capacité à mettre à l'échelle et à transformer les images. Mais parfois, vous devez convertir SVG en PNG (Portable Network Graphics) - un format graphique bitmap.



Les exigences actuelles en matiĂšre d'imagerie sont Ă©levĂ©es. Ils devraient ĂȘtre jolis partout, du tĂ©lĂ©phone au grand Ă©cran. Les graphiques vectoriels sont indispensables: les logos, diagrammes, illustrations sont mieux rĂ©alisĂ©s en vecteur - cela devient Ă©vident si vous comparez diffĂ©rents formats de la mĂȘme image lors de la mise Ă  l'Ă©chelle:



convertir svg en png





Pourquoi convertir SVG en PNG



Le format SVG est ancien par rapport aux normes de la technologie de l'information. Dix ans se sont écoulés depuis la sortie de la premiÚre version en 2001 jusqu'à la version actuelle du 16 août 2011. SVG est pris en charge par tous les navigateurs, et il semblerait que tout Internet devrait déjà passer aux graphiques vectoriels. Mais il existe encore de nombreuses restrictions sur l'utilisation de SVG.



Par exemple, tel:



  1. Les fichiers SVG n'apparaissent pas dans la plupart des clients de messagerie - il existe de bonnes recherches sur ce sujet.
  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