Továbbfejlesztett metafájlrekordok
A továbbfejlesztett metafájl rekordok tömbje. A metafájlrekord egy változó hosszúságú ENHMETARECORD szerkezet. Minden továbbfejlesztett metafájlrekord elején található egy EMR struktúra, amely két tagot tartalmaz. Az első iType tag azonosítja azt a rekordtípust, a GDI-függvényt, amelynek paraméterei a rekordban találhatók. Mivel a struktúrák hossza változó, a másik tag, az nSize a rekord méretét tartalmazza. Az nSize tagot közvetlenül követően a GDI-függvény fennmaradó paraméterei( ha vannak ilyenek). A struktúra többi része a rekordtípustól függő további adatokat tartalmaz.
A bővített metafájl első rekordja mindig az ENHMETAHEADER struktúra, amely a továbbfejlesztett metafájl fejléce. A fejléc a következő információkat adja meg:
- A metafájl mérete bájtban
- A képkeret méretei eszközegységekben
- A képkeret méretei 0,01 milliméteres egységekben
- A metafájl rekordjainak száma
- Eltolás opcionális szövegleíráshoz
- Az opcionális paletta mérete
- Az eredeti eszköz felbontása képpontban
- Az eredeti eszköz felbontása milliméterben
A nem kötelező szöveges leírás a fejlécrekordot követheti. A szöveges leírás a képet és a szerző nevét írja le. Az opcionális paletta a továbbfejlesztett metafájl létrehozásához használt színeket adja meg. A többi rekord azonosítja a kép létrehozásához használt GDI-függvényeket. A következő hexadecimális kimenet a SetMapMode függvény hívásához létrehozott rekordnak felel meg.
00000011 0000000C 00000004
Az 0x00000011 érték adja meg a rekord típusát (a Wingdi.h fájlban definiált EMR_SETMAPMODE állandónak felel meg). A 0x0000000C érték bájtban adja meg a rekord hosszát. Az 0x00000004 érték azonosítja a leképezési módot (megfelel a SetMapMode függvényben definiált MM_LOENGLISH konstansnak).
További rekordtípusok listáját a Metafile-struktúrákcímű témakörben találja.