Wat is het WMF-bestandsformaat?
.wmf is een vectorafbeelding-bestand ontwikkeld door Microsoft, geïntroduceerd met Windows 3.0 in 1990. Vectorgraphics zijn samengesteld uit objecten en hun geometrische relaties, in tegenstelling tot rasterafbeeldingen die zijn opgebouwd uit een raster van pixels. Het .wmf-formaat ondersteunt ook rasterafbeeldingen, zij het op beperkte wijze - ingebedde bitmaps (DIB's) kunnen naast GDI-tekenopdrachten in het bestand voorkomen.
Intern registreert het formaat een reeks 16-bit Windows GDI-opdrachten. De meest voorkomende variant is de Placeable WMF (Aldus APM), voorafgegaan door een 22-byte header die herkenbaar is aan de magic bytes D7 CD C6 9A op positie 0.
Het formaat heeft nooit veel populariteit gewonnen in vergelijking met andere soortgelijke formaten. Het bood beperkte mogelijkheden voor het schalen van afbeeldingen en was omslachtig in gebruik bij grotere projecten, mede doordat 16-bit getekende coördinaten de precisie beperken tot ±32.767 logische eenheden. Microsoft verving het in 1993 door het 32-bit .emf (Enhanced Metafile); een met GZIP gecomprimeerde variant wordt opgeslagen als .wmz.
Beveiliging & veiligheid
RISICO: MEDIUMEen normale WMF bevat tekenopdrachten, geen macro's, dus de inhoud van de afbeelding is passief. De echte zorg betreft parser-exploits: de Windows Metafile-kwetsbaarheid uit 2005-2006 maakte misbruik van het SETABORTPROC-metafilerecord om willekeurige code uit te voeren enkel door het bekijken van een gemanipuleerde WMF, en GDI-metafile-parsing heeft sindsdien periodiek CVE's gehad. Houd Windows en Office gepatcht en wees voorzichtig met ongevraagde .wmf-bestanden van onbekende afzenders. Een WMF in een gewoon oud Office-document is bijna altijd onschadelijke clipart.
Formaatdetails
in een notendopProgramma's die WMF-bestanden openen
Technische details
diepe specificaties| Bestandstype | 16-bit Windows GDI vector-metafile; slaat een afgespeelde reeks GDI-tekenopdrachten op |
| Codering | Binaire recordstroom, little-endian bytevolgorde |
| MIME-type | `image/wmf`; alternatieven: `image/x-wmf`, `application/x-msmetafile` |
| Magic bytes (Placeable WMF) | `D7 CD C6 9A` op positie 0 in de Placeable (Aldus APM) variant |
| Magic bytes (kale WMF) | `01 00 09 00` (geheugen-metafile) of `02 00 09 00` (schijf-metafile) |
| Bestandsstructuur | Optionele 22-byte Aldus APM-header + 18-byte WMF-header + GDI-recordreeks + EOF-record |
| Coördinatenprecisie | 16-bit getekende gehele getallen, ±32.767 logische eenheden per as |
| Kleurdiepte | Apparaatafhankelijk; GDI-records gebruiken palet- of RGB-waarden; ingebedde DIB's ondersteunen 1-24 bpp |
| Ingebedde bitmaps | Apparaatonafhankelijke bitmaps (DIB's) kunnen worden opgenomen in de GDI-recordstroom naast vectorrecords |
| Compressie | Geen; met GZIP gecomprimeerde variant is `.wmz` |
| Checksum | 16-bit XOR-checksumveld alleen in de Aldus APM placeable header |
| Opvolgend formaat | `.emf` (Enhanced Metafile), 32-bit GDI-vervanger sinds Windows NT 3.1 (1993) |
| Platformondersteuning | Windows (nativ GDI); macOS en Linux via Inkscape, LibreOffice Draw, Adobe Illustrator |
| Beveiligingsopmerking | Kwetsbaarheid in `SETABORTPROC` escape-record maakte willekeurige code-uitvoering mogelijk; op grote schaal misbruikt in 2005-2006 |
| Uitgebracht | 1990 (Windows 3.0); documented publicly as MS-WMF |
| Laatste versie | MS-WMF specification (format frozen; superseded by EMF) |
| Open standaard | Ja · royaltyvrij |
| Specificatie | learn.microsoft.com |
WMF conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over WMF-bestanden.