Convertendo SVG para PNG: e as coisas ainda estão lá, mas há opções

Por Alexander Toporkov, desenvolvedor web da Email Soldiers



O formato gráfico SVG (Scalable Vector Graphics) é o formato gráfico vetorial mais difundido atualmente, que se compara favoravelmente ao raster, em primeiro lugar, a capacidade de dimensionar e transformar imagens. Mas às vezes você precisa converter SVG para PNG (Portable Network Graphics) - um formato gráfico de bitmap.



Os requisitos de imagem de hoje são altos. Eles devem ser bonitos em qualquer lugar, do telefone à tela enorme. Os gráficos vetoriais são indispensáveis: logotipos, diagramas e ilustrações são mais bem feitos em vetor - isso se torna óbvio se você comparar diferentes formatos da mesma imagem durante o dimensionamento:



converter SVG para PNG





Por que converter SVG para PNG



O formato SVG é antigo para os padrões da tecnologia da informação. Do lançamento da primeira versão em 2001 até a versão atual de 16 de agosto de 2011, dez anos se passaram. O SVG é compatível com todos os navegadores e parece que toda a Internet já deve mudar para gráficos vetoriais. Mas ainda existem muitas restrições ao uso de SVG.



Por exemplo:



  1. Os arquivos SVG não aparecem na maioria dos clientes de e-mail - existem boas pesquisas sobre esse assunto.
  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