• Nenhum resultado encontrado

Formatos proprietários da Microsoft para representação de imagens vetoriais: Windows Metafile (WMF) e, Enhanced Metafile (EMF) Eloy Tavares

N/A
N/A
Protected

Academic year: 2021

Share "Formatos proprietários da Microsoft para representação de imagens vetoriais: Windows Metafile (WMF) e, Enhanced Metafile (EMF) Eloy Tavares"

Copied!
22
0
0

Texto

(1)

Formatos proprietários da Microsoft para representação de imagens

vetoriais: Windows Metafile (WMF) e,

Enhanced Metafile (EMF)

Eloy Tavares

Departamento de Engenharia de Telecomunicações – Universidade Federal Fluminense (UFF-RJ) - Campus da Praia Vermelha, Escola de Engenharia - Bloco D, Sala 502-B

Rua Passo da Pátria, 156 - São Domingos - 24210-240 – Niterói – RJ – Brasil. eloytavares@{ midiacom.uff |yahoo.com}.br

Resumo. Este trabalho descreve os formatos proprietários da Microsoft para representação de imagens vetoriais, em particular os formatos Windows Metafile (WMF) e Enhanced Metafile (EMF), que foram desenvolvidos para acompanhar e suportar a evolução das diversas variações da versão do Kernel do Windows, adaptando-os as novas e modernas arquiteturas dos CPU´s (Central Processing Unit), dando assim, suporte ás aplicações dos usuários finais que usem imagens vetoriais da melhor forma possível, trazendo, portanto, melhorias adicionais como por exemplo na passagem de WMF ao EMF, assim como por exemplo a passagem do Kernel do Sistema Operacional Microsoft Windows - Win16 a Win32 bits.

1 - INTRODUÇÃO

Nos dias de hoje, devido aos rápidos avanços dos hardwares computacionais e, dos softwares que tendem a evoluir aceleradamente, para realmente, acompanhar essa indústria de hardwares, a Microsoft, ainda continua crescendo e mantendo seu espaço no mercado. A Microsoft distribui vários softwares dentre atualizações e os recentes pacotes de programas que dêem suporte aos seus usuários finais ainda com certa facilidade e comodidade, apesar de ter “compartilhado” o mercado de software com a ampla e crescente aderência do mercado a softwares livres, como é o caso das variadas de distribuições linux.

A Microsoft, no entanto, ainda dispõe de recursos proprietários dentre tantos, como o WMF e EMF, que são bastante aplicados e utilizados nos mercados fotográficos, cinematográficos, enfim, entidades que trabalham com imagens em largas dimensões. Neste sentido, a Microsoft, ainda ganha destaque e preferência entre milhões de usuários. Para que, essa preferência continue sendo almejada, a Microsoft, precisa necessariamente apresentar inovações assim como atualizações aos softwares que façam melhor uso dos

(2)

hardwares versáteis da clientela final. Neste sentido, surge o EMF, uma versão tecnicamente superior ao formato WMF.

Sendo assim, constitui um dos objetivos deste trabalho, além de estudar os dois assuntos, entender como são utilizadas essas técnicas para formatos vetoriais de imagens como sua codificação, técnicas de compressão / compactação se existir, forma de armazenamento, possibilidades de convertê-los a outros formatos, sua organização, etc, bem como o que de novo e vantajoso existe nestes formatos oferecidos pela sua distribuidora proprietária.

Espera-se que com este trabalho, cria-se e abre margens de possibilidade ao entendimento e ao conhecimento de um pouco sobre o assunto, comparando, portanto, aos restantes formatos. Com isso, sem dúvida, constitui uma das maiores motivações para elaboração deste trabalho.

No ambiente Windows, os arquivos metafiles são tipicamente criados e “copiados” em memória. Se os dados metafile crescerem muito e se tornarem volumosos para serem armazenados em memória, precisam ser salvos antes de uma aplicação terminar em um disco na forma de arquivo WMF ou EMF. O tamanho máximo de um arquivo Windows metafile é de quatro gigabytes, capacidade esta que torna difícil ser alocada em memória de maioria ou quase todos os computadores, daí a necessidade de antes salvar em discos. Um arquivo em formato metafile é obtido e gerado de duas maneiras distintas o que torna em parte subjetivo afirmar que um arquivo metafile é unicamente, uma composição vetorial de uma imagem, mas sim admissível afirmar que este formato também pode ser considerado uma composição matricial implícita de imagens matriciais denominado simplesmente, de arquivo bitmap de gráfico raster.

Os argumentos para a afirmação do parágrafo acima referido seguem nos parágrafos imediatamente, abaixo deste:

- O código fonte de um arquivo metafile, é compilado usando a linguagem de programação C, conforme segue alguns trechos de códigos ilustrando a estrutura dos cabeçalhos de um arquivo metafile, ou seja, um metafile pode ser criado e gerado através de um conjunto de rotinas de programação baseado em comandos e funções próprios que

(3)

são corretamente interpretado e compilado pela linguagem C, gerando assim, uma imagem de composição formato metafile do tipo vetorial baseado em linhas de código de programação [8].

- Já uma composição de imagem formato metafile do tipo matricial, é obtido através de comandos para importação e exibição de uma dos outros formatos já existente no mercado como: PCX, TIF, GIF, JPEG, BMP, formatos que uma vez importados para dentro de um editor Windows metafile, passarão a ser tratado como uma única imagem raster, e salvos e exibidos como sendo um arquivo bitmap não pelo fato de existir um arquivo BMP, na composição, mas sim como classificação atribuída aos formatos importados.

O restante do texto está organizado da maneira seguinte, conforme as secções: Na secção 2ª, apresenta-se uma introdução sobre o que é exactamente em metafile e será discutida ainda o Microsoft Windows Metafile Format falando da organização e detalhes específicos.. Já na secção 3ª,será falado sobre o outro formato WMF e apresentada a tabela das funções usadas por este formato. Passando a secção 4ª, fala-se sobre o EMF, descrevendo a sua criação, operação e registro, ao passo que na secção 5ª discute-se algumas formas de conversões existentes entre os arquivos WMF a EMF e vice-versa, zonas de transparências, conversão do BMP a WMF, etc. A secção 6ª, será feito um resumo comparativo entre o WMF e EMF e alguns de outros formatos existente e, finalmente a 7ª a penúltima secção será apresentado as considerações finais , seguido das referencias bibliográficas.

2 - SOBRE METAFILES

Internamente, um metafile é um vetor de estruturas de comprimento variável chamado de registros metafile. Os primeiros registros no metafile especificam informações gerais como a resolução do dispositivo em que a imagem / cena foi criada, as dimensões da imagem, e assim por diante. Os registros restantes, que constituem o tamanho de qualquer metafile, correspondem à interface do dispositivo gráfico (GDI), funções exigidas para desenhar uma cena. Estes registros são armazenados no metafile depois de se ter criado neste contexto um dispositivo especial de metafile. Neste contexto, o dispositivo metafile é então usado para todas operações exigidas para desenhar e criar uma imagem. Quando nos

(4)

processos de sistema uma função de GDI é associada a um descritor de composição de metafile, essa funções são convertidas para dentro do tipo de dados de registro de arquivo apropriados e armazena também este dados em um registro anexado ao metafile como uma cópia. [2]

Tipicamente, um metafile é formado de comandos para desenhar objetos como linhas, polígonos e texto e comandos para controlar o estilo destes objetos. Costuma-se comparam metafiles com gráficos de vetor. Na maioria de casos esta comparação é aceitável, já que um metafile é predominantemente um tipo de gráfico de vetor, mas, no sentido exato, um metafile pode conter qualquer um desses tipos de gráficos baseados tanto em gráficos de vetor e gráficos raster conforme explicada na secção 1 – penúltimo parágrafo e antepenúltimo. [5]

Um metafile é copiado (Played Back) quando seus registros forem convertidos em comandos de dispositivo e processado pelo dispositivo apropriado.

Existem dois tipos de metafiles:  Enhanced-format metafiles  Windows-format metafiles

Estes tipos de metafile serão comentadas e explicados nas próximas secções depois desta que se segue.

2.1 – WMF - ORGANIZAÇÃO E DETALHES ESPECÍFICOS.

Tabela 1 – Características particulares do WMF

Tipo Metafile

Cor 24-bit

Compressão Não

Tamanho Max Imagem NA

Múltiplas Imagens por fila Sim

Formato Numérico Little-endian

Originado Microsoft Corporation

Plataforma Microsoft Windows

Aplicações Suportadas

Numerosas Aplicações gráficas Baseadas em Windows, no entanto, muitas aplicações são suportadas por outras plataformas diferentes Microsoft Windows.

(5)

Os arquivos, Microsoft Windows Metafile Format (WMF) são usados para armazenar ambos os dados dos formatos gráficos baseados em vetor e formato bitmap em uma memória ou em disco de arquivo. Os dados armazenados em vetor para os arquivos WMF são descritos como comandos Microsoft Windows Graphics Device Interface (GDI).

Em um ambiente Windows estes comandos são interpretados e copiados -“played back” para um dispositivo de saída usando a função PlayMetaFile() do API do Windows.

Os dados do arquivo Bitmap são armazenados em um arquivo WMF que talvez seja armazenada para um dispositivo bitmap Microsoft dependente (Microsoft Device

Dependent Bitmap [DDB]), ou dispositivo bitmap independente – (Device Independent Bitmap [DIB]). [5]

2.1.1 - ORGANIZAÇÃO DE ARQUIVO

Num metafile são incluído 1 ou N informações de cabeçalhos e um vetor de registros de tamanho variável que armazenam informações chamadas pela função de GDI.

Existem quatro formas de organizar um Windows Metafiles: standard, placeable,

clipboard, and enhanced.

 O Metafile Standar, contém um cabeçalho de WMF de 18 bytes seguido por um ou mais registros de comandos GDI.

 O Metafile placeable contém um cabeçalho de 22 bytes seguido pelo padrão WMF cabeçalho de 18 bytes e registros de comando GDI.

 O Metafiles Clipboard contém um de cabeçalho de 8 bytes (Win16) ou de 16 bytes (Win32) que precede o cabeçalho Metafile Standard.

 O Enhanced Metafile contém apenas registros de EMF, com o primeiro registro armazenando as informações de cabeçalho. Os arquivos de EMF não são compatíveis em projecto com os outros tipos de WMF metafiles.

Segundo a figura 1, o Windows Metafile contém um cabeçalho, seguido por um ou mais registros de dados. O cabeçalho contém uma descrição dos dados de registro armazenado no metafile. Cada registro é uma codificação binária que chama e use a função da Interface de Dispositivo Gráficos de Microsoft Windows (GDI).

(6)

A GDI é usada pelo Windows para executar toda a saída, impressora, ou outro dispositivo de saída. Quando um dado de metafile for preparado e confeccionado, os dados de cada registro são usados para executar a chamada da função de GDI apropriada para fazer cada objecto armazenado no arquivo.[5],[3].

O último registro no arquivo contém informações indicando que o fim dos dados de registro tinha sido alcançado, conforme se segue a figura ilustrativa abaixo.

Figure 1: Formato Standard metafile

Fonte [5]

Por sua vez, o Placeable metafiles (Figura 2) são arquivos de WMF com um cabeçalho de 18 bytes. Este pré-header contém informações usadas para descrever a posição de uma imagem metafile na pagina da impressora.

Figura 2: Placeable Metafile format

(7)

Já ao se referir ao Clipboard Metafiles são semelhantes a placeable metafiles dado que este contém também um cabeçalho extra para um arquivo WMF. O pré–header Clipboard contém informações usadas para descrever a posição do metafile no Windows Clipboard e mapeando o modo cópia (played back) usado em dados,ilustrado na figura 3.

Figura 3: Clipboard metafile format

Fonte[5]

De maneira análoga, o Enhanced metafiles tem o mesmo formato básico de arquivos WMF: um cabeçalho seguido por um ou mais registros de objetos de figuras armazenadas como comandos GDI. Diferentemente de WMF, o cabeçalho está também armazenado em um registro que aparece como o primeiro registro em cada arquivo de EMF. O cabeçalho de EMF agora contém informações adicionais, inclusive as informações de posição e mapeamento armazenados no placeable e clipboard metafile pré-cabeçalhos.EMF adiciona também as características da descrição da string de um arquivo e uma palheta de cor programável para o Formato Metafile, conforme exemplificada na Figura 4.

Figura 4. Enhanced metafile format

(8)

3 - WINDOWS-FORMAT METAFILES (WMF)

WMF é um formato Windows metafile Standard de 16 bits que apareceu com Windows 2.0 e que ainda acompanha as versões mais recentes de Windows Microsoft, embora, um pouco defasado se comparação ao sucessor EMF.

 O formato de Microsoft Windows metafiles é limitado em suas capacidades e devia raramente ser usadas as funções do formato Windows metafile que são suportadas para manter a compatibilidade retrógrada com aplicações que eram escritas para rodar como aplicações de 16 bits baseados em Windows. Ao invés, deve-se usar as funções de Enhanced Format Metafile

 O WMF é usado por aplicações Windows Baseadas em 16 bits.  O formato consiste em um cabeçalho e um vetor registros metafile.

A seguir são apresentadas as limitações deste formato:

 O formato Windows metafile é dependente de aplicação e dispositivo.

 Mudanças nos modos de mapeamento da aplicação ou na resolução de dispositivo afetam a recriação deste formato.

O formato Windows metafile não contém um cabeçalho “inteligente” que descreva as dimensões da imagem original, a resolução do dispositivo em que a imagem foi criada, uma descrição de texto opcional, ou uma palheta opcional. [1],[2].

O cabeçalho do Windows Metafile Standard possui 18 bytes em tamanho é composto pela seguinte estrutura:

typedef struct _WindowsMetaHeader { WORD FileType; WORD HeaderSize; WORD Version; DWORD FileSize; WORD NumOfObjects; DWORD MaxRecordSize; WORD NumOfParams; } WMFHEAD;

(9)

 FileType contém um valor que indica a localização dos dados metafile. O Valor 0 indica que o metafile está sendo armazenado em memória, enquanto uma 1 indica que é armazenado em disco.

 HeaderSize contém o tamanho do cabeçalho metafile de 16 bits. Iste é sempre 9.

A versão armazena o número de versão de Microsoft Windows que criou o metafile, é lido sempre em formato hexadecimal. Por exemplo, em um metafile criado por Windows 3.0 e 3.1, iste teria o valor 0x0300.

 FileSize especifica o tamanho total do metafile em 16 bits do tipo DWORD.  NumOfObjects especifica o número de objetos que estão no metafile.

 MaxRecordSize especifica o tamanho do maior registro no metafile em Palavras.  NumOfParams não é usado e é fixado para um valor de 0. [9]

3.1 - OUTROS TIPOS DE REGISTROS DE ESTRUTURAS DE WINDOWS METAFILE

A tabela 2 apresenta as demais funções alem das citadas anteriormente, usadas para representação de um arquivo WMF.

Estas mesmas funções representam os comandos imprescindíveis para codificação do format Windows metafile interpretados e compilados pela linguagem C, porem estas funções são em numero menor que as do EMF.

O fato da existência de quantidade inferior de funções para representar um WMF, é uma das condições que demonstra a superioridade do EMF sobre o WMF. Antes disso, a existências de números de funções avultados para o EMF em relação ao WMF, é factível dado que o EMF surgiu exatamente como o intuito de apresentar melhorias do antecessor Windows format metafile, que muitas vezes é dito WFM-Standard.

Este fato é também uma das razões que leva a inviabilidade da conversão de um arquivo ou imagem WMF a um formato EMF, além, evidentemente, da estrutura de cabeçalho mais “pobre” do que o Enhanced Metafile Format (EMF).

(10)

Tabela 2 – Funções adicionais utilizados pelo WMF

Fonte [2]

4 - FORMATO ENHANCED METAFILES (EMF)

Um Enhanced metafile é um metafile de 32 bits que pode ser usado por Windows 95, 98 e NT para prover o display de uma imagem. Um Enhanced metafile pode conter uma variedade muito mais abrangente de comandos que o habitual formato "Windows metafile. Standard, o Enhanced metafile é o formato de 32 bits de super-conjunto do formato Windows Metafile de 16 bits.[5]

Os arquivos Enhanced metafile são considerados novos e de uma melhorada revisão para 32 bits vindo do Windows Format Metafile Standard. Apenas Windows API (Win32) de

(11)

32 bits ou superiores suportam o arquivo EMF, portanto, o Windows APIs (Win16 e Win32s) não o suportam. [9]

O formato Enhanced metafile consiste nos elementos seguintes:  Um cabeçalho

 Uma tabela de manivelas(handles) para objetos de GDI  Uma palheta privada

 Um vetor de registros metafile

Enhanced metafiles fornece uma verdadeira independência de dispositivo. Pode-se pensar

numa imagem armazenada em um Enhanced metafile como uma exibição instantânea de um vídeo tomado em um momento particular. Esta "instantâniedade" mantém suas dimensões, não importe onde este é apresentado: numa impressora, um plotadora, em desktop, ou em qualquer área de aplicação de um cliente.

Pode-se usar enhanced metafiles para armazenar uma imagem criada usando funções da GDI inclusive novas funções e path de transformação. Porque as Enhanced-Format

Metafiles (Formato Aumentado de Metafile) está padronizado, imagens que estão

armazenados neste formato podem ser copiadas de uma aplicação para outra e, porque as imagem / fotos são verdadeiramente independente, dos dispositivos, estes são garantidos para manter sua forma e proporção em qualquer dispositivo de saída.[5]

Os registros de Enhanced Metafile, é uma das estruturas bastante importante ao definir um Enhanced metafile format.

4.1 - REGISTROS DE ENHANCED METAFILE.

O Enhanced Metafiles tem também uma estrutura de registro de arquivos.Quando comparado ao registro do Standard Metafile percebe-se que todos os três campos são agora do tipo DWORDs de 32 bits ao invés de 16 bits e as posições do Tamanho e Função dos campos são mudadas, em baixo segue a exemplificação de estrutura de registro Enhanced metafile.

typedef struct _EnhancedMetaRecord {

DWORD Function; /* Numero de funcao*/

DWORD Size; /* Total do tamanho de regidtros em WORDs */ DWORD Parameters[]; /* Parametro valores passados a funcao GDI */

(12)

} EMFRECORD;

Na tabela 3 estão apresentados alguns dos registros de enhanced metafile que usam funções identificadoras para todos 97 registros de EMF descrevendo funções para Win32. [9].

Repare que nesta tabela estão apresentados os tipos de registros próprios para identificar unicamente registros usados para criação de um EMF e seus respectivos valores em decimal , são num total de noventa e sete registros (97) e não as funções.

As funções que utilizam estas especificações de registros de criação de uma imagem em formato Enhanced Metafile, são alguns destes descritos nesta mesma secção logo abaixo da estrutura do código fonte do cabeçalho de um EMF.

Segue alguns desses registros e seus respectivos valores correspondentes em decimal que podem substituir o nome por extenso dos registros.

Tabela 3– Alguns dos 97 registros usadas em EMF

Record Value Record Value

EMR_ABORTPATH 68 EMR_POLYLINE 4 EMR_ANGLEARC 41 EMR_POLYLINE16 87 EMR_CREATEMONOBRUSH 93 EMR_REALIZEPALETTE 52 EMR_CREATEPALETTE 49 EMR_RECTANGLE 43 EMR_CREATEPEN 38 EMR_RESIZEPALETTE 51 EMR_DELETEOBJECT 40 EMR_RESTOREDC 34 EMR_ELLIPSE 42 EMR_ROUNDRECT 44

Um Enhanced metafile é um vetor de registros. O registro de metafile é uma estrutura de tamanho variável dado pelo parâmetro ENHMETARECORD.

Inicialmente todo o Enhanced Metafile é uma estrutura de EMR, que contém dois membros. O primeiro membro, iType, identifica qual o tipo de registro, e a função GDI cujos parâmetros são contidos no registro.

Porque as estruturas são variáveis em comprimento, também os membros, nSize, contém o tamanho do registro. Imediatamente seguinte ao nSize , os membros são os parâmetros restantes, se pertencente a alguma, das funções de GDI. O resto da estrutura contém dados adicionais que são dependentes do tipo de registro.[6]

(13)

Os arquivos EMF têm um cabeçalho de 80 bytes de tamanho e, embora o cabeçalho é considerado ser apenas outro registro de EMF, deve-se todavia, aparecer como o primeiro registro em todo arquivo EMF.[9]

O primeiro registro em um Enhanced Metafile é sempre o ENHMETAHEADER estrutura, que é descrito como sendo o cabeçalho de referência para um Enhanced Metafile.

typedef struct _EnhancedMetaHeader { DWORD RecordType; DWORD RecordSize; LONG BoundsLeft; LONG BoundsRight; LONG BoundsTop; LONG BoundsBottom; LONG FrameLeft; LONG FrameRight; LONG FrameTop; LONG FrameBottom; } ENHANCEDMETAHEADER;

Este cabeçalho especifica portanto, as informações seguintes: [1],[7],[8] ,[9]

 Tamanho do metafile, em bytes;  Tipo de registro;

 Determina lados de botões, topos e células das imagens em posição;  Dimensões da armação da imagem, nas unidades de dispositivo  Dimensões da armação da imagem, nas unidades de 01 milímetros  Número de registros no metafile

 Quantidade adicionada a um número ou endereço para gerar um número final para descrição de texto opcional

 Tamanho da palheta opcional

 Resolução do dispositivo original, em pixels  Resolução do dispositivo original, em milímetros.

Segue o significado e função desempenhada por cada uma das funções correspondente ao código a cima:

 RecordType identifica o tipo de registro EMF. Para o cabeçalho do registro de EMF este valor é fixado por 00000001h.

(14)

 RecordSize é o tamanho do cabeçalho em bytes.

 BoundsLeft, BoundsRight, BoundsTop, e BoundsBottom especifica o tamanho da imagem metafile usando X, Y, largura, e comprimento como coordenadas do sistema. BoundsTop e BoundsBottom devem ter valores maiores que BoundsLeft e

BoundsRight.

 FrameLeft, FrameRight, FrameTop, e FrameBottom especifica o tamanho da frame ou borda do arquivo que inclui o metafile usando X, Y, largura, e comprimento do sistema como coordenadas. FrameTop e FrameBottom devem ter valores maiores que FrameLeft e FrameRight.

 A marcação é uma identificação do arquivo e está sempre fixado para o valor 0x464D4520.

 A versão é o número de versão do formato de arquivo EMF. A versão atual é 1.0 e é armazenada como o valor 0x00000100.

 O tamanho é o tamanho do arquivo metafile inteiro em bytes.

 NumOfRecords é o número total de registros no metafile, inclusive o registro de cabeçalho.

 NumOfHandles é o número de handles atualmente armazenadas na memória manipula em uma tabela . Este é sempre 0 para dados metafile armazenados em disco. Reservado não é usado e é sempre zero.

 SizeOfDescrip é o número de caracteres Unicode de 16 bits contidos descrição do string, inclusive todos os caracteres NULOS. Se este valor for 0 então não há alguma discrição presente no arquivo.

 OffsOfDescrip é a localização da descrição do string calculado em número de bytes desde o início do arquivo. Se este valor for 0 então nenhuma descrição de string está presente no arquivo.

 NumPalEntries indica o número de entradas na palheta de cor. A palheta de cor, se presente, será localizado no Fim-de-registros do Arquivo. Se este for 0 então nenhuma palheta de cor está presente.

 WidthDevPixels e HeightDevPixels são a largura e altura do dispositivo de display em pixeis.

(15)

 WidthDevMM e HeightDevMM são a largura e altura do dispositivo de display em milímetros. [9]

Da a estrutura de cabeçalho SEM, uma descrição opcional de texto pode seguir o registro de cabeçalho, essa descrição do texto descreve a imagem e o nome do autor. A palheta opcional especifica as cores usadas para criar o Enhanced metafile.

O restante dos registros identificam as funções de GDI que normalmente costuma criar o imagem. A seguinte saída hexadecimal corresponde um registro gerado para chamar uma função SetMapMode.

00000011 0000000C 00000004

O valor 0x00000011 especifica o tipo de registro (corresponde ao constante de EMR_SETMAPMODE definida no arquivo Wingdi.h). O valor 0x0000000C especifica o tamanho do registro, em bytes.

O valor 0x00000004 identifica o modo de mapeamento (corresponde ao constante de MM_LOENGLISH definida na função de SetMapMode).[8]

Uma importante função que se pode adicionar a uma descrição de texto opcional para um metafile contendo informações sobre a imagem e o autor é a função CreateEnhMetaFile. Uma aplicação pode apresentar estas strings em uma caixa de diálogo de File Open para fornecer ao usuário informações sobre metafile como conteúdo que ajudará em selecionar o arquivo apropriado. Se uma aplicação inclui a descrição de texto, deve prover um ponteiro para a String quando este chamar a função CreateEnhMetaFile [7].

5 –ALGUMAS FORMAS DE CONVERSÃO DOS ARQUIVOS.

5.1-FUNÇÃO DE CONVERSÃO: WMF x EMF e BROWSER SUPORTAVEL

Para converter um Windows format metafile para um Enhanced format metafile, é chamada a função GetMetaFileBitsEx para recuperar os dados do Windows format metafile e então se chama a função SetWinMetaFileBits para converter este dados em um formato Enhanced metafile.

(16)

Para converter registro de um formato Enhanced metafile em um registro Windows formate Metafile, será chamado a função de GetWinMetaFileBits. [6]

Para converter um WMF para outro formato EMF, é possível sim, já que a maioria dos programas Windows dão suporte aos arquivos WMF e no entanto não dão suporte aos arquivos do tipo EMF.

Já uma conversão em contrário, também seria possível já que a melhor razão para fazer isto seria porque, a maioria de programas de Windows dão suporte aos arquivos WMF e como o formato de WMF é um subconjunto do formato EMF, assim pode se perder algumas informações quando faz-se a conversão do EMF para WMF.[5]

Quanto a utilização de Web Browsers, estes não suportam a exibição diretamente do formatos WMF ou EMF como o caso do padrão GIF, JPEG e PNG.

Porém, existe um plug-in de Browser disponível para o Netscape e Microsoft browsers que podem exibir arquivos de EMF em uma página de web. Segundo o endereço: http://www.emfviewer.com/ para maiores detalhes.

5.2 - CONVERSÃO DO ARQUIVO BITMAP AO CANAL DE TRANSPARÊNCIA DO WMF?

Esta conversão, diferentemente das outras conversões citadas, em teoria é possível sim, mas na prática, ainda procura-se um bom caminho e a melhor forma para fazer isto. Basicamente, existem duas abordagens que podemos adotar:

 Coloca-se um arquivo bitmap em um metafile junto com uma máscara de transparência bitmap e use o propriamente de operações bitmap para aplicar a máscara ao bitmap antes de exibir isto na tela, ou

 Converta o bitmap a um metafile pelo método de "vetorizing" e então apaga-se todos os objetos da cor de fundo.

Um dos programas capaz de selecionar e apagar correctamente a cor de fundo do objecto pode ser referenciado o programa usado pelo Companion Metafile.[3]

(17)

5.3 – CONVERSÃO ENTRE UM ARQUIVO BMP A ARQUIVO WMF

Existem dois tipos de conversões que podem ser executadas e são muito diferentes.

A maioria de programas de conversão converte um BMP para um arquivo WMF simplesmente colocando o bitmap em um “Shell” metafile. O arquivo WMF resultante é ainda essencialmente o mesmo que o original bitmap não oferecendo alguma vantagem particular acima do arquivo BMP original.

Porém, alguns programas de conversão "auto-trace" ou "vetorize" a conversão de áreas de cor de bitmap são feitas por linhas e polígonos que são então armazenados no arquivo de WMF. Estes arquivos WMF podem ser editados pelo Metafile, usando outros Editores desde editores proprietários assim como editores livres como: IMSI

(http://www.imsisoft.com);Adobe (http://www.adobe.com); KVEC

(http://www.kvec.de/english/index.htm).

5.4 – CONVERSÃO DE UM ARQUIVO WMF A: GIF OU JPEG PARA USAR EM UMA PÁGINA DE WEB.

Não são fáceis de ser encontradas utilitários livres para converter diretamente de WMF para GIF e JPEG. Como uma das soluções e muito simples, pode ser encontrada numa versão mais recente de Microsoft Word, salvando um documento contendo um arquivo WMF como HTML - este converte WMF e outros arquivos de gráficos no documento para um arquivo GIF.

Caso contrário, pode-se usar um caminho mais longo e difícil que seria o uso DO Software de Metafile Companion para copiar um arquivo WMF para área de transferência, colando isto no Paint do Windows, daí copia-se a imagem do bitmap para a ária de transferência e depois a pasta para um programa como LViewPro (http://www.lview.com) isso pode-se ser salvo como um arquivo do tipo GIF ou uma outra extensão.

(18)

6 - RESUMO COMPARATIVO ENTRE O WMF E EMF E ALGUNS DE OUTROS FORMATOS EXISTENTE.

Na tabela 4 está destacado um resumo comparativo sobre os formatos WMF e EMF, focando necessariamente as principais vantagens e desvantagens apresentadas entre eles, além disso, é apresentado um resumo de alguns outros formatos hoje existente no mercado.

Tabela 4 – Tabela comparativa sobre os formatos WMF e EMF entre outros IMAGENS FORMATO VETORIAL

Vantagens Desvantagens Formato

Arquivo

Compressão

WMF  Trabalha bem em Office 2000.

 Não suportado pelos

browsers Web.  16 bits  Não

EMF

 Formato arquivo Extensível;

 Uso mais eficiente em relação ao WMF:

- Informações escalares Embutidas.

-.Descrições Embutidas são salvas com o arquivo.

- .Melhorias em palhetas de cor e independência de dispositivo.

 Extensibilidade resulta em muitos tipos diferentes de imagens EMF.

 Nem todos os arquivos de EMF são compatíveis com todos os programas isto suportam o padrão EMF.

 Não suportado pelos browsers web.

 32 bits  Não

- O formato EMF é um formato extensível, o que significa que um programador pode modificar a

especificação original para adicionar a funcionalidade ou encontra necessidades específicas. Isto pode levar a incompatibilidades entre tipos diferentes de imagens EMF. [4]

IMAGENS FORMATO MATRICIAL

(19)

BMP

 - 1 bit através de profundidade de cor de 24 bit.

 - Extensamente compatíveis com programas de Windows existentes, especialmente programas mais antigos.

 - Satisfatórios para papel de parede em Windows.

 - Nenhuma compressão, que resulta em arquivos muito grandes.

 -Não sustentado por Web browsers

 - Não é satisfatório para Web páginas e fotos.

 Não

PCX

 Formato Normal suportada pelos programas Windows e MS-DOS.

 Não suportado por Web

browsers  Sim

PNG

 Nível Alto compressão com pouca perda;

 Transparência de canal de Alfa;  Correção de Gama;

 Entrelaçando;

 Suportado pelos Web browsers mais recente;

 Não suporte browsers mais antigos;

 s de arquivo na Internet, o PNG fornece compressão menor do que a compressão perdida em JPG;

 Não suporte para multiimage ou animação de arquivos.

 Sim

JPG

 Compressão Superior para arte fotográfica ou realista

 Compressão Variável permite controle de tamanho de arquivo  Entrelaçamento (para arquivos de

JPEG Progressivos)

 Sustentado Extensamente para padrão de Internet

 Compressão com perda degradando dados de imagens originais.

 Quando se edita os arquivos JPEG, compõe a degradação dos dados de retrato original; esta degradação é cumulativa.  JPEG não é satisfatório para

imagens mais simples que contêm poucas cores, áreas largas de cor semelhante, ou diferenças totalmente em brilho.

 Sim

(20)

7 - CONCLUSÃO:

Embora o formato Windows Metafile é específico para Microsoft Windows, muitas aplicações baseadas em plataforma não Windows suportam este formato. Por causa da popularidade difundida do Microsoft Windows GUI, o formato Windows Metafile se tornou um formato bastante utilizado para aplicações de criação e principalmente edição de imagens e fotografias de alta resolução, sendo assim, hoje este formato Metafile está sendo suportadas na maioria das plataformas inclusive os não Windows.

Nas versões anteriores do Windows, havia riscos sérios de vulnerabilidades a partir do momento em que um usuário exibisse um arquivo metafile na sua máquina, passando controle a outras pessoas através da aplicação que muitas vezes podem ser desenvolvidas com fins maliciosos, mas hoje existem incorporados aos sistemas mais recentes como o Windows Xp devido a distribuição do SP2 (pacote de serviços 2), para tanto, mais informações detalhadas podem ser encontradas no: Boletim de Segurança da Microsoft MS06-001.[3]

Existe, todavia, uma diferença notável entre os dois formatos em questão, nomeadamente em termos de quantidades de funções usadas, onde o EMF, supera largamente o WMF e também quanto aos bytes de cabeçalho entre eles, por isso o EMF, é dito ser uma versão revisada e nova de WMF Standard trazendo novas funções.

Por outro lado existe uma desvantagem a ser notada no que diz respeito a importação / edição e conversão de arquivos EMF a WMF, fazendo com que o arquivo EMF sofra alguma perda, já que ao ser convertido de volta para um WMF, o arquivo sofreria alguma perda, na sua qualidade já que o EMF é por definição um formato mais evoluído do que o anterior WMF .

Outra questão, a se frisar é a questão do tamanho que o arquivo metafile pode alcançar na ordem espantosamente de 4GB, tendo como um dos factores propiciantes a não aceitação de qualquer técnica de compressão e ou compactação.

WMF é um formato Windows metafile Standard de 16 bits que apareceu com Windows 2.0. Já os arquivos EMF são a revisão de 32 bits do formato de WMF.Os arquivos de EMF

(21)

estenderam funcionalidade acima de arquivos de WMF, inclusive uma palheta de cor e suporte completo a todos comandos de GDI de 32 bits.

O Win32 API (Windows 95 e Windows NT) dão suporte a objectos OLE de 32 bits para ambos os arquivos WMF e EMF.

O Win16 e Win32s APIs (Windows 3.x) e objectos OLE de 16 bits apenas suportam arquivos de WMF, não fazendo com que portanto, arquivo WMF seja banido a sua utilização que é por conseguinte bastante utilizado.

No processo de edição dos projectos CAD, é amplamente utilizado o formato Metafile. Com este trabalho, pensa-se termos compreendido um pouco sobre os formatos proprietário Windows Metafile, embora, ainda tem-se muito a acrescentar, apesar das fontes de consulta são poucas, já que se trata de uma documentação proprietária, como tal a dificuldade em se encontrar a publicação de um artigo sobre o assuntos por outras entidades de pesquisa e desenvolvimento e padronização, resumindo a pesquisa em parte ao endereço Microsoft Windows.

Em suma, um dos objectivo deste trabalho, que inicialmente pensávamos era dá-lo um enfoque semelhante ao estudo de outros padrões de formatos estudados na matéria Fundamento de sistemas multimídia, mas, depois das pesquisas, conclui-se que não é possível, dar o mesmo enfoque, no quesito formato de imagens uma vez que, como discutido na secção de introdução o formato metafile não suporta técnicas de compressão nem compactação, se os arquivos forem gerados através de linha de códigos C.

Entretanto, como um formato metafile pode ser composto de, por exemplo, formato JPEP, entre outros, o editor do formato Metafile ao importar esses padrões, estes levam juntos as técnicas de compressão embutidas.

Em resumo, não houve alterações profundas, quanto ao padrão metafile, conforme antes imaginávamos, este padrão é simplesmente dotada de técnicas particulares e utilidades especificas e de uso incomum. Com isso, percebemos também que adiantou a pesquisa, pelo fato de que passamos doravante a ter informações sobre o assunto.

(22)

9- REFERÊNCIAS BIBLIOGRÁFICAS

Acessadas entre as datas de 28/10/2006 a 20/11/2006

[1] - http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/metafile_0hmb.asp [2] - http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/metafile_8tgz.asp [3] - http://wvware.sourceforge.net/caolan/ora-wmf.html#MICMETA-DMYID.3#MICMETA-DMYID.3 [4] - http://animalscience.ucdavis.edu/intranet/Manuals/PictureFormat/default.htm [5] - http://www.companionsoftware.com/PR/WMRC/WindowsMetafileFaq.html [6] - http://msdn.microsoft.com/library/shared/deeptree/asp/toolbar.asp?tbcfg=/library/toolbarconfig.xml [7] - http://msdn.microsoft.com/library/en-us/gdi/metafile_2gdv.asp?frame=true [8] - http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/metafile_3tir.asp [9] - http://wvware.sourceforge.net/caolan/ora-wmf.html#MICMETA-DMYID.3#MICMETA-DMYID.5

Referências

Documentos relacionados

Por último, temos o vídeo que está sendo exibido dentro do celular, que é segurado e comentado por alguém, e compartilhado e comentado no perfil de BolsoWoman no Twitter. No

Para Piaget, a forma de raciocinar e de aprender da criança passa por estágios. Por volta dos dois anos, ela evolui do estágio sensório motor, em que a ação envolve os

No código abaixo, foi atribuída a string “power” à variável do tipo string my_probe, que será usada como sonda para busca na string atribuída à variável my_string.. O

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição

Dentre as ações desenvolvidas estão: implementação de viveiros para produção de mu- das de frutíferas e essências florestais para recuperação e melhoramento de

A proposta aqui apresentada prevê uma metodologia de determinação da capacidade de carga de visitação turística para as cavernas da região de Bulhas D’Água

Para esse fim, analisou, além do EVTEA, os Termos de Referência (TR) do EVTEA e do EIA da Ferrogrão, o manual para elaboração de EVTEA da empresa pública Valec –

Requiring a realignment of the EVTEA with its ToR, fine-tuning it to include the most relevant socio-environmental components and robust methodologies for assessing Ferrogrão’s impact