Megosztás a következőn keresztül:


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.