Compartilhar via


Registros de metafile aprimorados

Um metafile aprimorado é uma matriz de registros. Um registro de metafile é uma estrutura deENHMETARECORDde comprimento variável. No início de cada registro de metafile aprimorado está uma estrutura deemR, que contém dois membros. O primeiro membro, iType, identifica o tipo de registro, ou seja, a função GDI cujos parâmetros estão contidos no registro. Como as estruturas são variáveis de comprimento, o outro membro, nSize, contém o tamanho do registro. Imediatamente após o membro nSize estão os parâmetros restantes, se houver, da função GDI. O restante da estrutura contém dados adicionais que dependem do tipo de registro.

O primeiro registro em um metafile aprimorado é sempre a estrutura ENHMETAHEADER, que é o cabeçalho de metafile aprimorado. O cabeçalho especifica as seguintes informações:

  • Tamanho do metafile, em bytes
  • Dimensões do quadro de imagem, em unidades de dispositivo
  • Dimensões do quadro de imagem, em unidades de .01 milímetros
  • Número de registros no metafile
  • Deslocamento para uma descrição de texto opcional
  • Tamanho da paleta opcional
  • Resolução do dispositivo original, em pixels
  • Resolução do dispositivo original, em milímetros

Uma descrição de texto opcional pode seguir o registro de cabeçalho. A descrição do texto descreve a imagem e o nome do autor. A paleta opcional especifica as cores usadas para criar o metafile aprimorado. Os registros restantes identificam as funções GDI usadas para criar a imagem. A saída hexadecimal a seguir corresponde a um registro gerado para uma chamada para a funçãoSetMapMode.

00000011 0000000C 00000004 

O valor 0x00000011 especifica o tipo de registro (corresponde à constante EMR_SETMAPMODE definida no arquivo Wingdi.h). O valor 0x0000000C especifica o comprimento do registro, em bytes. O valor 0x00000004 identifica o modo de mapeamento (corresponde à constante MM_LOENGLISH definida na função SetMapMode).

Para obter uma lista de tipos de registro adicionais, consulte Estruturas de Metafile.