Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Imagemagick (convert): SVG to XPM
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
V10lator
Apprentice
Apprentice


Joined: 11 Jul 2004
Posts: 199

PostPosted: Tue May 10, 2011 2:34 pm    Post subject: Imagemagick (convert): SVG to XPM Reply with quote

Hi,
ich darf gerade einen riesen Stapel SVG-Files in XPM umwandeln. Mit Gimp geht das ja auch, bei den ganzen Files jedes 2x umwandeln (einmal in 32x32, einmal in 16x16) ist mir aber doch zu umständlich.
Nun habe ich mir ein kleins Script geschrieben welche die Dateien einfach durch convert jagt. Das Problem dabei: Per default skalieren die SVGs zu 48x48.
Also suchte ich nach einer Lösung und wurde auf -density aufmerksam gemacht, musste abert nach kurzem testen feststellen das es allein überhaupt nichts bringt. Also fing ich an wild zu experimentieren und mein jetziges Ergebnis sieht so aus:
Code:
for item in "${FILE[@]}"; do
   ORIG="/pfad/zu/den/SVGs/$item.svg"
   TMP=$(echo $item | awk -v FS="/" '{print $2}')
   convert -density 24x24 -resample 8x8 -render "${ORIG}" "./${TMP}_16x16.xpm" &
   convert -density 48x48 -resample 32x32 -render "${ORIG}" "./${TMP}_32x32.xpm"
done

Dabei sind in dem Array $FILE natürlich die einzelnen Dateien gesammelt, das ist auch nicht das Problem.
Das Problem liegt darin das die Qualität (gerade der 16x16 xpms) bescheiden ist. Nehme ich testweise eine der SVGs und wandele sie mal fix in Gimp um ist die Qualität um Welten besser.

Ich denke ich mache irgendetwas grundlegend verkehrt und hoffe hier kann mir jemand erklären wie ich das nun hinbekomme. :)


P.S. Bevor jemand fragt: Nein, ich weiß nicht mehr genau wie ich auf die Werte für density und resample gekommen bin. Ich glaube die density Werte habe ich nach irgendeiner Anleitung errechnet, da sie aber alleine nicht wirkten habe ich die passenden resample Werte durch try&error gefunden. ;)
Back to top
View user's profile Send private message
firefly
Advocate
Advocate


Joined: 31 Oct 2002
Posts: 4459

PostPosted: Tue May 10, 2011 3:59 pm    Post subject: Reply with quote

versuchs mal nur mit der option -resize
_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
V10lator
Apprentice
Apprentice


Joined: 11 Jul 2004
Posts: 199

PostPosted: Tue May 10, 2011 5:14 pm    Post subject: Reply with quote

Gibt leider auch keine schönen Ergebnisse.
Langsam glaube ich das ImageMagick die SVG erst rastert und dann skaliert (was natürlich vollkommener quatsch ist) - auch die Ergebnisse sehen, egal was ich versuche, eig. immer gleich aus... -.-
Back to top
View user's profile Send private message
Christian99
Veteran
Veteran


Joined: 28 May 2009
Posts: 1176

PostPosted: Tue May 10, 2011 5:32 pm    Post subject: Reply with quote

hm, eigentlich hab ich davon auch keine ahnung, aber wenn du das eh nur aus dem internet hast, dann lass doch das einfach weg.
Probier doch einfach mal so:
Code:
convert -resize 16x16 "${ORIG}" "./${TMP}_16x16.xpm" &

davon abgesehen:
Code:
convert -density 24x24 -resample 8x8 -render "${ORIG}" "./${TMP}_16x16.xpm" &

gibt bei mir 14x14 Bilder, deren Qualität (für 14x14) ganz passabel ist.
Back to top
View user's profile Send private message
franzf
Advocate
Advocate


Joined: 29 Mar 2005
Posts: 4408

PostPosted: Tue May 10, 2011 5:37 pm    Post subject: Reply with quote

Verwende doch ein Programm, welches komplett auf svg zugeschnitten ist: inkscape!
Das kannst du auch per cmdline (oder script) auf svgs loslassen, ohne gui.
Die Ergebnisse sollten super werden :)
Back to top
View user's profile Send private message
V10lator
Apprentice
Apprentice


Joined: 11 Jul 2004
Posts: 199

PostPosted: Wed May 11, 2011 4:09 pm    Post subject: Reply with quote

Danke für den Tipp, ich habe es gerade installiert. Leider scheint es kein xpm zu kennen.
Nunja, dann schreibe ich das Script eben so das es via inkscape pngs erstellt und convert diese dann in xpms umwandelt ^^

//EDIT: Okay, die PNGs sehen gut aus. Beim Umwandeln in XPM geht jedoch der transparente Hintergrund verloren.
Code:
identify test_16x16.png
test_16x16.png PNG 16x16 16x16+0+0 8-bit DirectClass 778BB 0.000u 0:00.000

Code:
convert test_16x16.png test16x16.xpm
Gibt einen weißen Hintergrund,
Code:
convert test_16x16.png -depth 8 -bordercolor none +dither -colors 14 test_16x16.xpm
(irgendwie zusammengegoogelt) ergibt einen schwarzen Hintergrund. :(

//EDIT²: Ein versuchsweises
Code:
convert test_16x16.png test.png
funktioniert jedoch. ImageMagick (er)kennt die Transparenz also. Wieso geht sie dann beim umwandeln in xpm verloren? -.-
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum