Von Alexander Toporkov, Webentwickler bei Email Soldiers
Das Grafikformat SVG (Scalable Vector Graphics) ist heute das am häufigsten verwendete Vektorgrafikformat, das im Vergleich zu Raster in erster Linie die Fähigkeit zum Skalieren und Transformieren von Bildern positiv bewertet. Manchmal müssen Sie jedoch SVG in PNG (Portable Network Graphics) konvertieren - ein Bitmap-Grafikformat.
Die heutigen Anforderungen an die Bildgebung sind hoch. Sie sollten überall hübsch aussehen, vom Telefon bis zum riesigen Bildschirm. Sie können nicht auf Vektorgrafiken verzichten: Logos, Diagramme und Illustrationen werden am besten in Vektoren erstellt. Dies wird deutlich, wenn Sie beim Skalieren verschiedene Formate desselben Bildes vergleichen:

Warum SVG in PNG konvertieren?
Das SVG-Format ist nach den Standards der Informationstechnologie alt. Zehn Jahre sind seit der Veröffentlichung der ersten Version im Jahr 2001 bis zur aktuellen Version vom 16. August 2011 vergangen. SVG wird von allen Browsern unterstützt, und es scheint, dass das gesamte Internet bereits auf Vektorgrafiken umstellen sollte. Es gibt jedoch noch viele Einschränkungen bei der Verwendung von SVG.
Zum Beispiel:
- SVG-Dateien werden in den meisten E-Mail-Clients nicht angezeigt. Zu diesem Thema gibt es gute Forschungsergebnisse .
- 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 .