Sdílet prostřednictvím


Operace s rozšířeným metasouborem

Pomocí popisovače k rozšířenému metasouboru můžete provádět následující úlohy:

  • Zobrazí obrázek uložený v rozšířeném metasouboru.
  • Vytvořte kopie rozšířeného metasouboru.
  • Upravte rozšířený metasoubor.
  • Načtěte volitelný popis uložený v rozšířeném metasouboru.
  • Načtěte kopii hlavičky rozšířeného metasouboru.
  • Načtení binární verze rozšířeného metasouboru
  • Vypíšete barvy v volitelné paletě.

Tyto úkoly jsou popsány ve zbývajících částech tohoto tématu.

Zobrazení obrázku uloženého v rozšířeném metasouboru

Obrázek uložený v rozšířeném metasouboru můžete zobrazit pomocí funkce PlayEnhMetaFile. Předejte funkci popisovač do rozšířeného metasouboru, aniž by se museli zabývat formátem rozšířených záznamů metasouboru. Někdy je však žádoucí vytvořit výčet záznamů v rozšířeném metasouboru, aby vyhledaly konkrétní funkci GDI a nějakým způsobem upravovaly parametry funkce. K tomu můžete použít EnumEnhMetaFile a poskytnout funkci zpětného volání, EnhMetaFileProc, ke zpracování rozšířených záznamů metasouborů. Chcete-li upravit parametry pro rozšířený záznam metasouboru, musíte znát formát parametrů v záznamu.

Vytvoření kopií rozšířeného metasouboru

Některé aplikace vytvářejí dočasné (nebo duplicitní) kopie souboru před povolením, aby uživatel změnil původní kopii. Aplikace může vytvořit záložní kopii rozšířeného metasouboru zavoláním funkce CopyEnhMetaFile, zadáním popisovače, který identifikuje vylepšený metasoubor a zadáním ukazatele na název nového souboru.

Chcete-li vytvořit metasoubor založený na paměti, zavolejte funkci SetEnhMetaFileBits.

Úprava rozšířeného metasouboru

Většina aplikací cad (drawing, ilustrace a computer-aided design) vyžaduje způsob úprav obrázku uloženého v rozšířeném metasouboru. I když úprava rozšířeného metasouboru je složitá úloha, můžete použít funkci EnumEnhMetaFile v kombinaci s jinými funkcemi a poskytnout tak tuto funkci ve vaší aplikaci. Funkce EnumEnhMetaFile a její přidruženou funkci zpětného volání, EnhMetaFileProc, umožňuje aplikaci zpracovávat jednotlivé záznamy v rozšířeném metasouboru.

Načtení volitelného popisu uloženého v rozšířeném metasouboru

Některé aplikace zobrazí textový popis rozšířeného metasouboru s odpovídajícím názvem souboru v dialogovém okně Otevřít. Můžete určit, zda tento řetězec existuje v rozšířeném metasouboru načtením hlavičky metasouboru pomocí funkce GetEnhMetaFileHeader a prozkoumáním jednoho z jeho členů. Pokud řetězec existuje, aplikace ji načte voláním funkce GetEnhMetaFileDescription.

Načtení binární verze rozšířeného metasouboru

Obsah metasouboru můžete načíst voláním funkce GetEnhMetaFileBits; Před načtením obsahu však musíte zadat velikost souboru. Pokud chcete získat velikost, můžete použít funkci GetEnhMetaFileHeader a prozkoumat příslušný člen.

Vytvoření výčtu barev v volitelné paletě

Pokud chcete dosáhnout konzistentních barev při zobrazení obrázku na různých výstupních zařízeních, můžete volat funkci CreatePalette a uložit logickou paletu do rozšířeného metasouboru. Aplikace, která zobrazuje obrázek uložený v rozšířeném metasouboru, načte tuto paletu a před zobrazením obrázku volá funkci RealizePal ette. Chcete-li zjistit, zda je paleta uložena v rozšířeném metasouboru, načtěte hlavičku metasouboru a zkontrolujte příslušný člen. Pokud existuje paleta, můžete volat GetEnhMetaFilePaletteEntries funkci načtení logické palety.