Conversión de SVG a PNG: y las cosas siguen ahí, pero hay opciones

Por Alexander Toporkov, desarrollador web de Email Soldiers



El formato gráfico SVG (Scalable Vector Graphics) es el formato de gráficos vectoriales más extendido en la actualidad, que se compara favorablemente con el raster, en primer lugar, la capacidad de escalar y transformar imágenes. Pero a veces es necesario convertir SVG a PNG (Gráficos de red portátiles), un formato de gráficos de mapa de bits.



Los requisitos de imagen actuales son elevados. Deberían verse bonitas en todas partes, desde el teléfono hasta la pantalla gigante. No puede prescindir de los gráficos vectoriales: los logotipos, diagramas e ilustraciones se hacen mejor en vectores; esto se vuelve obvio si compara diferentes formatos de la misma imagen al escalar:



convertir svg a png





¿Por qué convertir SVG a PNG?



El formato SVG es antiguo según los estándares de la tecnología de la información. Han pasado diez años desde el lanzamiento de la primera versión en 2001 hasta la versión actual del 16 de agosto de 2011. SVG es compatible con todos los navegadores, y parece que todo Internet ya debería cambiar a gráficos vectoriales. Pero todavía existen muchas restricciones sobre el uso de SVG.



Por ejemplo, tal:



  1. Los archivos SVG no aparecen en la mayoría de los clientes de correo electrónico; existe una buena investigación sobre este tema.
  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