Windows metafil

Windows metafil
Förlängning .wmf, .wmz
MIME -typ bild/x-wmf
Utvecklaren Microsoft
Formattyp Vektorgrafik
Utvecklad i EMF
Hemsida docs.microsoft.com/en-us...
Förbättrad metafil
Förlängning .emf, .emz
MIME -typ bild/x-emf
Utvecklaren Microsoft
Formattyp Vektorgrafik
Utökad från WMF
Hemsida docs.microsoft.com/en-us...

WMF ( engelska  Windows MetaFile ) är ett universellt vektorgrafikfilformat för Windows - applikationer. Används för att lagra en samling grafiska bilder från Microsoft Clip Gallery . Formatet har utvecklats av Microsoft och är en integrerad del av Windows, eftersom det behåller en sekvens av hårdvaruoberoende GDI -funktioner (Graphical Device Interface) som direkt matar ut en bild till en given grafikenhetskontext (skärm, skrivare, etc.). Mycket ofta används WMF implicit för att spara en bild av ett programs utdatafönster och återställa det senare, såväl som när information överförs via urklipp. Från MS Windows är det extremt enkelt och snabbt att skriva och läsa till en fil i detta format. En fil i detta format kan öppnas med plattformsoberoende programmen GIMP (för-rastrerad) och Inkscape . På Macintosh-plattformen spelar PICT -formatet en liknande roll .

Som vektorgrafikformat stöds WMF i varierande grad av många kraftfulla applikationer - AutoCAD , OpenOffice.org , Adobe Illustrator , och kan användas för att utbyta data mellan dem.

Filstruktur

WMF- och EMF-filer består av en lista med poster, som var och en representerar ett specifikt kommando med en uppsättning argument. WMF- och EMF-postformaten är liknande, men de viktigaste skillnaderna är:

Lista över WMF- och EMF-posttyper

WMF rekord WMF-postkod EMF-rekord EMF-postkod Beskrivning
EMR_HEADER 0x00000001 rubrik
EMR_POLYBEZIER 0x00000002
EMR_POLYBEZIER16 0x00000055
META_POLYGON 0x0324 EMR_POLYGON 0x00000003 Rita en sluten polylinje
EMR_POLYGON16 0x00000056
META_POLYLINE 0x0325 EMR_POLYLINE 0x00000004
EMR_POLYLINE16 0x00000057
EMR_POLYBEZIERTO 0x00000005
EMR_POLYBEZIERTO16 0x00000058
META_POLYPOLYGON 0x0538 EMR_POLYPOLYGON 0x00000008
EMR_POLYPOLYGON16 0x0000005B
META_SETWINDOWEXT 0x020C EMR_SETWINDOWEXTEX 0x00000009 Ställ in fönstermått (bredd och höjd)
META_SETWINDOWORG 0x020B EMR_SETWINDOWORGEX 0x0000000A Ställ in positionen för det övre vänstra hörnet av fönstret (x och y)
META_SETVIEWPORTEXT 0x020E EMR_SETVIEWPORTEXTEX 0x0000000B Ställ in mått på utmatningsenheten (bredd och höjd)
META_SETVIEWPORTORG 0x020D EMR_SETVIEWPORTORGEX 0x0000000C Ställ in positionen för utmatningsenhetens övre vänstra hörn (x och y)
EMR_SETBRUSHORGEX 0x0000000D
META_EOF 0x0000 EMR_EOF 0x0000000E Slutet på filen
EMR_SETPIXELV 0x0000000F
META_SETMAPPERFLAGS 0x0231 EMR_SETMAPPERFLAGS 0x00000010
META_SETMAPMODE 0x0103 EMR_SETMAPMODE 0x00000011 Anger läget för att konvertera logiska fönsterenheter till enheter för utdata
META_SETBKMODE 0x0102 EMR_SETBKMODE 0x00000012 Ställ in fyllningsläge (0 - fyll av, 1 - fyll på)
META_SETPOLYFILLMODE 0x0106 EMR_SETPOLYFILLMODE 0x00000013
META_SETROP2 0x0104 EMR_SETROP2 0x00000014 Ställ in en boolesk operation när du ritar (för att lägga över en transparent/inverterad bild, etc.)
META_SETSTRETCHBLTMODE 0x0107 EMR_SETSTRETCHBLTMODE 0x00000015
META_SETTEXTALIGN 0x012E EMR_SETTEXTALIGN 0x00000016 Ställ in horisontell och vertikal justering (anges med flaggor kombinerade via logiskt ELLER)
EMR_SETCOLORADJUSTMENT 0x00000017
META_SETTEXTCOLOR 0x0209 EMR_SETTEXTCOLOR 0x00000018 Ställ in textfärg (32-bitars RGB0)
META_SETBKCOLOR 0x0201 EMR_SETBKCOLOR 0x00000019 Ställ in fyllningsfärg (32-bitars RGB0)
META_OFFSETCLIPRGN 0x0220 EMR_OFFSETCLIPRGN 0x0000001A
META_MOVETO 0x0214 EMR_MOVETOEX 0x0000001B
META_EXCLUDECLIPRECT 0x0415 EMR_EXCLUDECLIPRECT 0x0000001D
META_INTERSECTCLIPRECT 0x0416 EMR_INTERSECTCLIPRECT 0x0000001E
META_SCALEVIEWPORTEXT 0x0412 EMR_SCALEVIEWPORTEXTEX 0x0000001F Sträck ut enheten horisontellt och vertikalt (två bråkfaktorer anges, x och y, vardera som två heltal - bråkets täljare och nämnare)
META_SCALEWINDOWEXT 0x0410 EMR_SCALEWINDOWEXTEX 0x00000020 Sträck fönstret horisontellt och vertikalt (två bråkfaktorer anges, x och y, var och en i form av två heltal - bråkets täljare och nämnare)
META_RESTOREDC 0x0127 EMR_RESTOREDC 0x00000022 Återställ tillståndet för utenheten till det som tidigare sparats med kommandot SAVEDC
META_SELECTOBJECT 0x012D EMR_SELECTOBJECT 0x00000025
META_CREATEBRUSHINDIRECT 0x02FC EMR_CREATEBRUSHINDIRECT 0x00000027
META_DELETEOBJECT 0x01f0 EMR_DELETEOBJECT 0x00000028
EMR_ANGLEARC 0x00000029
META_ELLIPSE 0x0418 EMR_ELLIPSE 0x0000002A
META_RECTANGLE 0x041B EMR_RECTANGLE 0x0000002B
META_ROUNDRECT 0x061C EMR_ROUNDRECT 0x0000002C
META_ARC 0x0817 EMR_ARC 0x0000002D
META_CHORD 0x0830 EMR_CHORD 0x0000002E
META_PIE 0x081A EMR_PIE 0x0000002F
META_SELECTPALETT 0x0234 EMR_SELECTPALETT 0x00000030
META_CREATEPALETT 0x00f7 EMR_CREATEPALETT 0x00000031
META_SETPALENTRIES 0x0037 EMR_SETPALETTENTRIES 0x00000032 Ställ in palett
META_RESIZEPALETTE 0x0139 EMR_RESIZEPALETTE 0x00000033
META_EXTFLOODFILL 0x0548 EMR_EXTFLOODFILL 0x00000035
META_LINETO 0x0213 EMR_LINETO 0x00000036
EMR_ARCTO 0x00000037
EMR_SETARCDIRECTION 0x00000039
EMR_SETMITERLIMIT 0x0000003A
EMR_STROKEPATH 0x00000040
EMR_COMMENT 0x00000046
META_FILLREGION 0x0228 EMR_FILLRGN 0x00000047
META_INVERTREGION 0x012A EMR_INVERTRGN 0x00000049 Invertera färger i ett område som definieras av föreningen av flera rektanglar
META_PAINTREGION 0x012B EMR_PAINTRGN 0x0000004A
META_SELECTCLIPREGION 0x012C EMR_EXTSELECTCLIPRGN 0x0000004B
META_BITBLT 0x0922 EMR_BITBLT 0x0000004C
META_STRETCHBLT 0x0B23 EMR_STRETCHBLT 0x0000004D
META_SETDIBTODEV 0x0d33 EMR_SETDIBITSTODEVICE 0x00000050
META_DIBSTRETCHBLT 0x0b41 EMR_STRETCHDIBITS 0x00000051
META_CREATEFONTINDIRECT 0x02FB EMR_EXTCREATEFONTINDIRECTW 0x00000052
META_CREATEPENINDIRECT 0x02FA EMR_EXTCREATEPEN 0x0000005F
EMR_SETICMMODE 0x00000062
EMR_CREATECOLORSPACE 0x00000063
EMR_SETCOLORSPACE 0x00000064
EMR_DELETECOLORSPACE 0x00000065
EMR_GLSRECORD 0x00000066
EMR_GLSBOUNDEDRECORD 0x00000067
EMR_PIXELFORMAT 0x00000068
EMR_FORCEUFIMAPPING 0x0000006D
EMR_COLORCORRECTPALETT 0x0000006F
EMR_SETICMPROFILEA 0x00000070
EMR_SETICMPROFILEW 0x00000071
META_SETLAYOUT 0x0149 EMR_SETLAYOUT 0x00000073 Ställer in visningsriktningen för text och bilder - vänster till höger eller höger till vänster (i det senare fallet kan du ange om du vill visa bilder vända från vänster till höger)
EMR_GRADIENTFILL 0x00000076
EMR_SETLINKEDUFIS 0x00000077
META_SETTEXTJUSTIFICATION 0x020A EMR_SETTEXTJUSTIFICATION 0x00000078
META_REALIZEPALETT 0x0035
META_SETRELABS 0x0105
META_SETTEXTCHAREXTRA 0x0108
META_DIBCREATEPATTERNBRUSH 0x0142
META_OFFSETVIEWPORTORG 0x0211
META_OFFSETWINDOWORG 0x020F
META_FLOODFILL 0x0419
META_FRAMEREGION 0x0429
META_ANIMATEPALETT 0x0436
META_TEXTOUT 0x0521
META_SETPIXEL 0x041F
META_PATBLT 0x061D
META_SAVEDC 0x001E Spara utgångsenhetens tillstånd
META_ESCAPE 0x0626
META_DIBBITBLT 0x0940
META_EXTTEXTOUT 0x0a32
META_STRETCHDIB 0x0f43
META_CREATEPATTERNBRUSH 0x01F9
META_CREATEREGION 0x06FF

Länkar