Konvertera SVG till PNG

Jag har haft stor glädje av Gnome-grafikerna ikoner de sista dagarna då jag gjort presenatationer på olika ämnen (just nu sitter jag och försöker städa upp introbilderna till TDD och JDojo). OpenOffice hanterar dock inte av SVG-filerna snyggt – det ser riktigt illa ut tyvärr. Så, lösningen har varit att konvertera dem till PNG istället (för hand) till 320×320 pixlar – det räcker fint för att det skall se bra ut på projektor.

Det jag ville göra nu var att slippa utföra jobbet för hand, och det lyckades jag inte med (trodde jag). ImageMagick (convert) gjorde nämligen att det blev svart bakgrund istället för transparent. Efter att jag fick igång den interaktiva python-fu-prompten så fick jag ut svart bakgrund där också, och även http://guillaume.segu.in/blog/code/43/svg-to-png/ producerade svart bakgrund … Sedan tittade jag på filerna utan att använda Eye Of Gnome (eog) och upptäckte att det visst var fina bilder med fin transparent bakgrund. Problemet var helt enkelt att jag lurats av eog.

Well well, här är python-koden som behövs för att skripta Gimp:

>>> import sys
>>> import os
>>> from gimpfu import *
>>> image = pdb.file_svg_load(filename, filename, 90, 320, 320, 0) #dpi, w, h, paths
>>> drawable = pdb.gimp_image_active_drawable(image)
>>> pdb.file_png_save2(image, drawable, outfilename, outfilename, 1, 9, 1, 1, 1, 1, 1, 0, 1)

Riktigt trevligt. :)