Operações avançadas de metarquivo
Você pode usar o identificador para um metarquivo aprimorado para realizar as seguintes tarefas:
- Exiba a imagem armazenada em um metarquivo aprimorado.
- Crie cópias de um metarquivo aprimorado.
- Edite um meta-arquivo aprimorado.
- Recupere a descrição opcional armazenada em um metarquivo aprimorado.
- Recupere uma cópia de um cabeçalho enhanced-metafile.
- Recupere uma versão binária de um metarquivo aprimorado.
- Enumerar as cores na paleta opcional.
Essas tarefas são discutidas nas seções no restante deste tópico.
Exibir a imagem armazenada em um metarquivo avançado
Você pode exibir a imagem armazenada em um metarquivo aprimorado usando a função PlayEnhMetaFile . Passe a função um identificador para o metarquivo aprimorado, sem se preocupar com o formato dos registros de metafile aprimorados. No entanto, às vezes, é desejável enumerar os registros no metarquivo aprimorado para pesquisar uma função GDI específica e modificar os parâmetros da função de alguma maneira. Para fazer isso, você pode usar EnumEnhMetaFile e fornecer uma função de retorno de chamada, EnhMetaFileProc, para processar os registros de metafile aprimorados. Para modificar os parâmetros de um registro de metafile aprimorado, você deve saber o formato dos parâmetros dentro do registro.
Criar cópias de um metarquivo aprimorado
Alguns aplicativos criam cópias temporárias de backup (ou duplicadas) de um arquivo antes de permitir que o usuário altere o original. Um aplicativo pode criar uma cópia de backup de um meta-arquivo aprimorado chamando a função CopyEnhMetaFile , fornecendo um identificador que identifica o meta-arquivo aprimorado e fornecendo um ponteiro para o nome do novo arquivo.
Para criar um meta-arquivo de formato aprimorado baseado em memória, chame a função SetEnhMetaFileBits .
Editar um Metarquivo Avançado
A maioria dos aplicativos CAD (design com ajuda de computador) exige um meio de editar uma imagem armazenada em um metarquivo aprimorado. Embora a edição de um meta-arquivo aprimorado seja uma tarefa complexa, você pode usar a função EnumEnhMetaFile em combinação com outras funções para fornecer essa funcionalidade em seu aplicativo. A função EnumEnhMetaFile e sua função de retorno de chamada associada, EnhMetaFileProc, permitem que o aplicativo processe registros individuais em um metarquivo aprimorado.
Recuperar a descrição opcional armazenada em um metarquivo avançado
Alguns aplicativos exibem a descrição de texto de um meta-arquivo aprimorado com o nome de arquivo correspondente na caixa de diálogo Abrir . Você pode determinar se essa cadeia de caracteres existe em um metarquivo aprimorado recuperando o cabeçalho de metafile com a função GetEnhMetaFileHeader e examinando um de seus membros. Se a cadeia de caracteres existir, o aplicativo a recuperará chamando a função GetEnhMetaFileDescription .
Recuperar uma versão binária de um metarquivo avançado
Você pode recuperar o conteúdo de um metarquivo chamando a função GetEnhMetaFileBits ; no entanto, antes de recuperar o conteúdo, você deve especificar o tamanho do arquivo. Para obter o tamanho, você pode usar a função GetEnhMetaFileHeader e examinar o membro apropriado.
Enumerar as cores na paleta opcional
Para obter cores consistentes quando uma imagem é exibida em vários dispositivos de saída, você pode chamar a função CreatePalette e armazenar uma paleta lógica em um meta-arquivo aprimorado. Um aplicativo que exibe a imagem armazenada no metarquivo aprimorado recupera essa paleta e chama a função RealizePalette antes de exibir a imagem. Para determinar se uma paleta é armazenada em um metarquivo aprimorado, recupere o cabeçalho de metafile e examine o membro apropriado. Se houver uma paleta, você poderá chamar a função GetEnhMetaFilePaletteEntries para recuperar a paleta lógica.