Ich hab mir jetzt PIL 1.1.5 angeschaut aber da ist die Unterstützung für WMF in der aktuellen Version sozusagen nicht vorhanden (WMF (identify only))
http://effbot.org/imagingbook/format-wmf.htm
In PIL 1.1.4 soll die Unterstützung ja noch vorhanden sein, aber folgender Absatz lässt mich zweifeln ob das für meine Zwecke ausreicht.
"In PIL 1.1.4 and earlier, the WMF driver provides some limited rendering support, but not enough to be useful for any real application."
Gibt es noch andere Tools mit denen mein Vorhaben gelingen könnte?
Ich hab schon SVG-Konverter getestet, aber diese können den enthaltenen Text nicht in die SVG-Datei extrahieren.
Mit Irfan View hab ich es auch schon versucht, jedoch wandelt es die WMF in eine Pixelgrafik um und skaliert dann diese, was die Qualität der Grafiken reduziert.
Hat vielleicht jemand eine Idee wie man dem Problem Herr werden könnte?
Vielen Dank im Voraus.
Mfg
CapJo
WMF-Datei auf bestimmte Größe skalieren ???
Ich hab jetzt die Unterstützung von WMF-Dateien unter PIL 1.1.4 getestet und sie ist wirklich unbrauchbar.
Was ich mir vorstellen würde wäre, dass ich mir z. B. die Breite der Grafik in Pixeln vorgeben könnte und das Bild dann da rein skaliert wird.
z. B. Breite 800 Pixel und da WMF ja eine Vektorgrafik ist wäre es "eigentlich" kein Problem eine solche Grafik zu erzeugen.
Was ich mir vorstellen würde wäre, dass ich mir z. B. die Breite der Grafik in Pixeln vorgeben könnte und das Bild dann da rein skaliert wird.
z. B. Breite 800 Pixel und da WMF ja eine Vektorgrafik ist wäre es "eigentlich" kein Problem eine solche Grafik zu erzeugen.
Was genau möchtest Du denn machen? In welchem Kontext soll das skalieren geschehen? Einmalig, oder innerhalb eines Programms? Muss es unbedingt Python sein?
Ich hab eine WMF-Grafik und diese soll dann z. B. 600 Pixel Breit sein ... die höhe dann relativ dazu.
Das ganze ist für einen Dokumentengenrator gedacht der aus einem UML-Diagram einen PDF-Output über XSL-FO erzeugt.
Die Grafiken liegen in WMF vor, was jedoch Apache FOP nicht unterstützt.
Ich muss die Grafiken auf die richtige Größe skalieren und anschließend in einem anderen Format ausgeben z. B. als GIF oder PNG.
Es muss nicht Python sein. Freeware wäre ganz nett muss es aber auch nicht unbedingt sein.
Eine Lösung hab ich mittlerweile gefunden. Bei Office 2003 ist Photo-Editor dabei der genau die Funktionalität bietet.
Ich gebe eine Größe vor und meine WMF Grafik wird dann z. B. auf 600x400 Pixel gerendert.
Ich muss mir noch die Möglichkeiten der COM-Schnittstelle anschauen. Ich hoffe das geht dann damit.
Bin jedoch weiterhin für Ideen offen.
Mfg
CapJo
Das ganze ist für einen Dokumentengenrator gedacht der aus einem UML-Diagram einen PDF-Output über XSL-FO erzeugt.
Die Grafiken liegen in WMF vor, was jedoch Apache FOP nicht unterstützt.
Ich muss die Grafiken auf die richtige Größe skalieren und anschließend in einem anderen Format ausgeben z. B. als GIF oder PNG.
Es muss nicht Python sein. Freeware wäre ganz nett muss es aber auch nicht unbedingt sein.
Eine Lösung hab ich mittlerweile gefunden. Bei Office 2003 ist Photo-Editor dabei der genau die Funktionalität bietet.
Ich gebe eine Größe vor und meine WMF Grafik wird dann z. B. auf 600x400 Pixel gerendert.
Ich muss mir noch die Möglichkeiten der COM-Schnittstelle anschauen. Ich hoffe das geht dann damit.
Bin jedoch weiterhin für Ideen offen.
Mfg
CapJo
Sehr Leistungsfähig ist ImageMagick gibt einen Pythonwrapper, keine Ahnung ob auch für Win verfügbar (da würde ich vielleicht IrvanView oder XnView im Komandozeilen Modus benutzen).
Hast du schon ausprobiert dein WMF mit PIL in ein anderes Format zu speichern?
Denn das ist dann mit:
recht einfach zu skalieren. (ein JPG Beispiel hatte ich halt schnell zur Hand PNG dürfte genauso funktionieren)
Hast du schon ausprobiert dein WMF mit PIL in ein anderes Format zu speichern?
Denn das ist dann mit:
Code: Alles auswählen
im = Image.open(pic_full_path)
im.thumbnail((thumb_width, thumb_height), Image.ANTIALIAS)
im.save(path_2_pic + "-thumb.jpg", "JPEG")
Wie oben zu lesen hab ich das versucht. Danke für den Tipp mit ImageMagick . Das werde ich dann am Dienstag testen.CapJo hat geschrieben:Ich hab jetzt die Unterstützung von WMF-Dateien unter PIL 1.1.4 getestet und sie ist wirklich unbrauchbar.
Was ich mir vorstellen würde wäre, dass ich mir z. B. die Breite der Grafik in Pixeln vorgeben könnte und das Bild dann da rein skaliert wird.
z. B. Breite 800 Pixel und da WMF ja eine Vektorgrafik ist wäre es "eigentlich" kein Problem eine solche Grafik zu erzeugen.
Gerade gesehen, dass imagemagick sich auch auf Windows installieren lässt:
http://www.cs.nott.ac.uk/TSG/manuals/im ... ndows.html
Ansonsten wie schon gepostet irfanview/xnview (wobei ich deren wmf Fähigkeiten jetzt nicht kenne)
cu Sebastian
http://www.cs.nott.ac.uk/TSG/manuals/im ... ndows.html
Ansonsten wie schon gepostet irfanview/xnview (wobei ich deren wmf Fähigkeiten jetzt nicht kenne)
cu Sebastian
ImageMagick lässt sich zwar installieren, aber die für WMF benötige Lib gibt es nur als Source für Linux und deshalb fällt das ganze wohl weg.
Hab jetzt Irfan View getestet und das ganze schaut nicht ganz so aus wie ich es mir vorgestellt habe
Das muss doch gehen das man eine Vektorgrafik in gewünschter Größe ausgeben kann und nicht erst in eine Pixelgrafik umwandelt und die dann resampelt.
Trotzdem Danke für die Tipps.
Hab jetzt Irfan View getestet und das ganze schaut nicht ganz so aus wie ich es mir vorgestellt habe

Das muss doch gehen das man eine Vektorgrafik in gewünschter Größe ausgeben kann und nicht erst in eine Pixelgrafik umwandelt und die dann resampelt.
Trotzdem Danke für die Tipps.