WMF-Datei auf bestimmte Größe skalieren ???

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
CapJo
User
Beiträge: 26
Registriert: Donnerstag 27. April 2006, 13:17

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
CapJo
User
Beiträge: 26
Registriert: Donnerstag 27. April 2006, 13:17

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.
BlackJack

Was genau möchtest Du denn machen? In welchem Kontext soll das skalieren geschehen? Einmalig, oder innerhalb eines Programms? Muss es unbedingt Python sein?
CapJo
User
Beiträge: 26
Registriert: Donnerstag 27. April 2006, 13:17

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
Benutzeravatar
Mr_Snede
User
Beiträge: 387
Registriert: Sonntag 8. Februar 2004, 16:02
Wohnort: D-Dorf, Bo

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:

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")
recht einfach zu skalieren. (ein JPG Beispiel hatte ich halt schnell zur Hand PNG dürfte genauso funktionieren)
CapJo
User
Beiträge: 26
Registriert: Donnerstag 27. April 2006, 13:17

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.
Wie oben zu lesen hab ich das versucht. Danke für den Tipp mit ImageMagick . Das werde ich dann am Dienstag testen.
CapJo
User
Beiträge: 26
Registriert: Donnerstag 27. April 2006, 13:17

Gibt es ein Microsoft-Tool das man sinnvoll dazu einsetzen kann um diese WMFs in mein gewünschtes Format zu brinden oder hat jemand eine anderweitige Idee?
Benutzeravatar
Mr_Snede
User
Beiträge: 387
Registriert: Sonntag 8. Februar 2004, 16:02
Wohnort: D-Dorf, Bo

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
CapJo
User
Beiträge: 26
Registriert: Donnerstag 27. April 2006, 13:17

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 :shock:

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.
Antworten