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


Továbbfejlesztett metafájlműveletek

A leíróval továbbfejlesztett metafájlt használhat a következő feladatok végrehajtásához:

  • Továbbfejlesztett metafájlban tárolt kép megjelenítése.
  • Továbbfejlesztett metafájl másolatainak létrehozása.
  • Bővített metafájl szerkesztése.
  • Kérje le a bővített metafájlban tárolt opcionális leírást.
  • Egy továbbfejlesztett metafájl fejlécének másolatának lekérése.
  • Továbbfejlesztett metafájl bináris verziójának lekérése.
  • A választható palettán szereplő színek számbavétele.

Ezeket a feladatokat a témakör hátralévő részében található szakaszok ismertetik.

Bővített metafájlban tárolt kép megjelenítése

A továbbfejlesztett metafájlban tárolt képet a PlayEnhMetaFile függvénnyel jelenítheti meg. Adjon át egy leírót a bővített metafájlnak anélkül, hogy a továbbfejlesztett metafájlrekordok formátumával foglalkozik. Néha azonban célszerű számba adni a továbbfejlesztett metafájl rekordjait egy adott GDI-függvény kereséséhez és a függvény paramétereinek valamilyen módon történő módosításához. Ehhez használhatja EnumEnhMetaFile és egy visszahívási függvényt, EnhMetaFileProc, a továbbfejlesztett metafájlrekordok feldolgozásához. A bővített metafájlrekord paramétereinek módosításához ismernie kell a rekordon belüli paraméterek formátumát.

Bővített metafájl másolatainak létrehozása

Egyes alkalmazások ideiglenes biztonsági másolatokat hoznak létre (vagy duplikálnak) egy fájlról, mielőtt lehetővé teszik a felhasználó számára az eredeti módosítást. Az alkalmazások a CopyEnhMetaFile függvény meghívásával, a továbbfejlesztett metafájlt azonosító leíróval és az új fájl nevére mutató mutatóval hozhatnak létre biztonsági másolatot egy továbbfejlesztett metafájlról.

Memóriaalapú bővített formátumú metafájl létrehozásához hívja meg a SetEnhMetaFileBits függvényt.

Bővített metafájl szerkesztése

A legtöbb rajz-, illusztráció- és számítógéppel támogatott tervezőalkalmazáshoz továbbfejlesztett metafájlban tárolt kép szerkesztésére van szükség. Bár a továbbfejlesztett metafájlok szerkesztése összetett feladat, az EnumEnhMetaFile függvényt más függvényekkel kombinálva is használhatja, hogy ezt a képességet biztosítsa az alkalmazásban. Az EnumEnhMetaFile függvény és a hozzá tartozó visszahívási függvény, EnhMetaFileProclehetővé teszi, hogy az alkalmazás egy továbbfejlesztett metafájlban dolgozza fel az egyes rekordokat.

A bővített metafájlban tárolt opcionális leírás lekérése

Egyes alkalmazások egy továbbfejlesztett metafájl szöveges leírását jelenítik meg a megfelelő fájlnévvel a Megnyitás párbeszédpanelen. A GetEnhMetaFileHeader függvénnyel a metafájl fejlécének beolvasásával és az egyik tag vizsgálatával megállapíthatja, hogy létezik-e ez a sztring egy továbbfejlesztett metafájlban. Ha a sztring létezik, az alkalmazás a GetEnhMetaFileDescription függvény meghívásával kéri le.

Bővített metafájl bináris verziójának lekérése

Egy metafájl tartalmát a GetEnhMetaFileBits függvény meghívásával kérdezheti le; A tartalom beolvasása előtt azonban meg kell adnia a fájl méretét. A méret lekéréséhez használhatja a GetEnhMetaFileHeader függvényt, és megvizsgálhatja a megfelelő tagot.

A választható palettán szereplő színek számbavétele

Ha egységes színeket szeretne elérni, amikor egy kép különböző kimeneti eszközökön jelenik meg, meghívhatja a CreatePalette függvényt, és egy bővített metafájlban tárolhat logikai palettát. A továbbfejlesztett metafájlban tárolt képet megjelenítő alkalmazás lekéri ezt a palettát, és meghívja a RealizePalette függvényt a kép megjelenítése előtt. Annak megállapításához, hogy egy paletta továbbfejlesztett metafájlban van-e tárolva, kérje le a metafájl fejlécét, és vizsgálja meg a megfelelő tagot. Ha létezik paletta, meghívhatja a GetEnhMetaFilePaletteEntries függvényt a logikai paletta lekéréséhez.