Diskussion:Windows Metafile

Letzter Kommentar: vor 4 Jahren von Jost Riedel in Abschnitt Meta --> Zwischenablage

Irgendwie scheint hier ein Schreibfehler vorzuliegen:

Windows Metafile (WMF) ist ein [...]. Eine Weiterentwicklung des WMF-Formates stellt Windows Metafile (WMF) dar.

WMF ist eine Weiterentwicklung von WMF?


Beispiel für eine WMF-Datei

Bearbeiten

Hallo, besteht Interesse daran, dass ich hier mal eine kleine WMF-Datei (etwa 1000 Byte) als Beispiel hinschreibe und die einzelnen Bytes erkläre? Simon Pie (Diskussion) 22:19, 8. Jan. 2016 (CET)Beantworten

"Die interne Maßeinheit in WMF-Dateien ist das Twip" -- "maximale Größe von WMF-Dateien auf 32.000 Twips beschränkt"

Bearbeiten

Prima abgeschrieben.
Immerhin unter Angabe der unzureichenden Quelle.

Was passiert wohl, wenn mir da versehentlich ein Twip zuviel hineinplumpst? Platzt dann die Datei oder was?


Technischer Hintergrund:
Die Maßeinheit der Koordinaten für Zeichenoperationen in WMF ist ein Punkt arbitrarer Größe, dessen Koordinaten als 16bit Integer notiert werden (Wertebereich: -32768..+32767).
Die tatsächliche Größe des Ausgaberasters ergibt sich erst zum Zeitpunkt der (frei skalierbaren!) Darstellung.
Die GDI-Ausgaberoutinen des Betriebssystems (welche beim "Abspielen" des Metafiles aufgerufen werden) rechnen Koordinaten intern stets auf "Twips" um - das ist eine Rasterweite von 1/20 eines "original-Microsoft-Bildschirmpixels" á 1/72 Zoll (also 1/1440 Zoll).

Innerhalb einer 16bit-Umgebung(!) werden die x-/y-Koordinaten zu jedem Twip als 16bit-Integer verwaltet (Wertebereich abermals: -32768..+32767), hier sind Integer-Überläufe vorprogrammiert (beispielsweise bei 10facher Vergrößerung eines WMF-Cliparts bereits jenseits von +-163 Punkten), welche wahlweise zu Fehldarstellungen oder zum Abbruch des Darstellungsvorgangs führen (je nach Implementation der aufrufenden Applikation).

Mit der Umstellung der GDI auf 32bit (Windows 98 / Windows NT 4 SP 2) erschließt sich für die interne Umrechnung auf Twips ein deutlich größerer Wertebereich, wodurch sich die Wahrscheinlichkeit der Integer-Überläufe auf ein ertragbares Maß reduziert. Die Beschränkung der WMF-Koordinaten auf 16bit bleibt jedoch hiervon unberührt, Besserung bringt erst das 32bittige EMF-Format.

Applikationen müssen sich beim Abspielen von Metafiles ganz auf das Betriebssystem verlassen, haben aber die Möglichkeit, das entstehende "Gemälde" im Nachhinein in seiner Größe zu beschneiden ("clipping"). Dies ist aber eine Beschränkung der jeweiligen Applikation, nicht des WMF-Formats.

So, und wie packt man diesen Wissenswust jetzt in einen knackigen Satz?

"Unzulänglichkeiten"

Bearbeiten

Hey, was hat denn da den kleinen Polemiker geritten?

Natürlich ist es ärgerlich, daß die GDI (und damit WMF) nix von Splines versteht.
Ebendrum erfolgt aber das genannte grobschlächtige Sampling von Splines in Linienstücke auch nicht durch die GDI, sondern durch diejenige Applikation, die ihre Vektorgrafik in die Zwischenablage verbringen möchte.
Nebenbei bemerkt: Es wird dabei auch nicht die Darstellung größer, sondern ihr Speicherbedarf.

Und die Zwischenablage: Der Clou dieses Tools ist es, daß eine Applikation ihre Daten dort in beliebig vielen Formaten GLEICHZEITIG einstellen kann. So kommt auch die Excel-Tabelle in's Malprogramm, beispielsweise als WMF oder (böse, böse) als Bitmap. Oder die im Internet Explorer markierte Tabelle in die DOS-Box (als reiner Text) oder in's WordPad (als formatierter Text).
Nichts kann den "Absender" davon abhalten, die Daten sogar in seinem eigenen Format dort abzulegen. Wichtig ist nur, daß der "Empfänger" wenigstens ein Format vorfindet, welches er darstellen kann.
Klar, wenn ich aus Photoshop nach WordPad einfüge, sieht's Scheiße aus.

Polemik?

Bearbeiten

Heute habe ich gerade verzweifelt - mit verschiedensten Tools - versucht, eine SVG-Datei mit Splines 1:1 nach EMF zu konvertieren, ehem. Woher sonst soll man also als Nicht-GDI-Programmierer von dieser [zensiert] Einschränkung wissen, die mein Ansinnen per def. kafkaesk macht? Also jene Anmerkung bitte nicht löschen, sie hat mir eine Menge Zeit und Nerven gespart; sie war für mich DIE relevante Information dieses Eintrags.

Meta --> Zwischenablage

Bearbeiten

Mit ist der Schluss, dass Meta auf eine Entwicklung für die Zwischenablage hindeutet nicht klar. Meta deutet für mich eher darauf hin, dass es verschiedene Dinge enhalten kann. (nicht signierter Beitrag von 178.239.71.171 (Diskussion) 17:37, 4. Jan. 2011 (CET)) Beantworten

Es heißt Metafile, weil es vom Konzept her dem Computer Graphics Metafile gleicht. Mit der Zwischenablage hat das nichts zu tun.--Jost Riedel (Diskussion) 18:37, 28. Mär. 2020 (CET)Beantworten