👋 Nový obsah na borekb.cz

Info Tento blog je v "read-only módu" a nový obsah již nebude přibývat. O vývoji píšu na DevBlog.

Dávkový převod SVG do PNG

Některé sady ikon jsou na webu k sehnání ve formátu SVG, což je dobré pro další práci s nimi, někdy ale prostě potřebujete rychle všechny ikony převést na něco normálního, třeba na PNG, a to rychle. Bohužel dnes většina programů neumí SVG ani zobrazit (XnView, IrfanView, Zoner Photo Studio ani mnoho dalších), natož pak s tímto formátem nějak dál pracovat.

Řešení, pokud nechcete platit za komerční řešení, jsou v zásadě dvě. Tím prvním je Javovská knihovna Batik, jejíž komponenta Rasterizer převod SVG do formátů JPG, PNG, GIF apod. podporuje.

O něco sympatičtější je mi druhá varianta, která využívá open source SVG editor Inkscape z příkazové řádky. Pokud vytvoříte jednoduchý dávkový soubor svg2png.cmd s obsahem

for /R %%i in (*.svg) do "C:\program files\inkscape\inkscape.exe" -f "%%~fi" -e "%%~dpni.png"

stačí pak tento soubor umístit do adresáře se SVG soubory a spustit ho. Pokud nechcete rekurzivně prohledávat podadresáře, odstraňte /R, pokud naopak chcete výslednému PNG obrázku natvrdo určit velikost delší strany, přidejte na konec něco jako -w 400. Tento postup jsem našel na Open Clip Art Library wiki.

Zařazeno do kategorií | |
Mordae (St, 2006-05-03 04:23):

Pokud potrebujete provadet podobne operace pod Windows casteji, nainstalujte si Cygwin, BASH vam znacne ulehci praci.

Borek (St, 2006-05-03 07:09):

Jak? Proč? Příklad?

Pachollini (St, 2006-05-03 15:29):

Taky se dá použít rsvg, ale inkscape je asi lepší.

BTW: Měl jsem asi 15 let windows a teď mám systém s bashem a už bych zpátky neměnil ani za zlatý prace. Příkazový řádek Windows je fakt parodie. (Příklad: sed. Potřeboval jsem vyměnit nějaký řetězec v 8GB logu a na Windows to prostě neumím. cd zaca[tabelátor]. Nebo grep. Ale nechci dělat flame, prostě mi to hrozně vyhovuje.)

Borek (St, 2006-05-03 15:39):

Jasně, proti gustu žádný disputát, já mám taky své Windows rád. Když potřebuji upravit textový soubor, používám na to textový editor a ne příkazový řádek (který mimochodem doplňování pomocí tabulátoru podporuje). Ale chápu, že pro někoho je shell vším. Docela by mě zajímalo, co „druhá strana“ říká na PowerShell, který hodně věcí dokáže zvládnout elegantnějším a úspornějším zápisem než unixové shelly.

Jiří (Pá, 2007-02-09 00:07):

Co se týče Powershellu, tak máte nějaký konkrétní důkaz? Já ho totiž zkoušel a zase tak spásný nástroj to není. Pravda, je lepší než cmd.exe, některé vlastnosti jsou fajn, ale vaše tvrzení bych stále nepodpořil.

Na druhou stranu. Sed není vlastnost bashe. Sed je program, navíc existuje binárka pro windows. Takže není problém ho ve Windows použít.

Mordae (St, 2006-05-03 16:06):

Na PowerShell (Monad?) rikam jen, ze na programovatelne dokoncovani, pole, zabudovane regularni vyrazy bych videl vskutku rad.

Pachollini (Čt, 2006-05-04 10:47):

Problém byl, že kolega na Windows prostě nenašel editor, který by byl schopen ten 8GB log otevřít – všechny, co zkusil, dopadly tak, že se po několika hodinách chroustání sesypaly. Ale pokud znáš nějaký, co by si s tím poradil, sem s ním, třeba se bude ještě někdy hodit. Taky mi nšlo sloučit 30 souborů o velikosti řádově stovek MB do jednoho. Apět budu vděčný za radu. A taky neumím spočítat, na kolika řádcích se v daném souboru vyskytuje řetězec odpovídající danému regulárnímu výrazu. (Nepočítám-li agrep, ovšem :-) PowerShell neznám.

Borek (Čt, 2006-05-04 11:00):

Chlubí se tím třeba UltraEdit, ale sám jsem nikdy tak velký soubor editovat nezkoušel.

dgx (Út, 2006-07-04 20:30):

Díky moc, přesně tohle jsem hledal. Překvapilo mě, že ač se Adobe tak angažuje v oblasti SVG, tak jejich vlajková loď Photoshop neumí tento formát načíst…

kuba (St, 2006-10-25 19:11):

Jde to i naopak? Potřeboval bych převést png do svg…

Borek (Čt, 2006-10-26 09:57):

Pochybuji, formát PNG nese méně informací než SVG.

Djura (Čt, 2008-02-14 18:13):

Jo jde, říká se tomu ¤trasování bitmapy¤. Umí to třeba ten v blogpostu zmíněný Inkscape. (u složitýho mnohabarevnýho obrázku (fotka) do dává příšerný výsledky, ale alespoň něco)

Komentáře jsou uzavřeny (blog je v read-only módu). Pokud mě chcete kontaktovat, můžete mailem.