ID do artigo: 94326 - Última revisão: terça-feira, 21 de novembro de 2006 - Revisão: 4.5

SeeDIB.exe mostra 16 e 32 bits - por - formatos de bitmap do PEL

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.

Nesta página

Expandir tudo | Recolher tudo

Sumário

SeeDIB.exe é um aplicativo de exemplo que demonstra como carregar, exibir e salvar 1, 4, 8, 16, 24 e 32-bits-por-pixel (formatos de bitmap independente do dispositivo (DIB). Além disso, SeeDIB.exe demonstra um método simples de criar uma paleta otimizada para exibição DIBs com mais de 8-bits-por-pixel em dispositivos de 8 bits por pixel.

Observação Para minimizar a perda de cor, SeeDIB usa CreateDIBSection() para fazer conversões entre DIBs descompactados que têm mais de 8 bits por pixel. Esta função não está disponível no Windows NT 3.1.

Mais Informações

O seguinte arquivo está disponível para download no Centro de download da Microsoft:
SeeDIB.exe (http://download.microsoft.com/download/platformsdk/sample56/1/w95/en-us/seedib.exe)
Para obter informações adicionais sobre como baixar arquivos de suporte da Microsoft, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
119591  (http://support.microsoft.com/kb/119591/EN-US/ ) Como obter arquivos de suporte da Microsoft a partir de serviços online
Microsoft examinou esse arquivo em busca de vírus. Microsoft utilizou o mais recente software de detecção de vírus que estava disponível na data em que o arquivo foi publicado. O arquivo é armazenado em servidores com segurança avançada que ajudam a evitar qualquer alteração não autorizada no arquivo. Para DIBs, os formatos 16 e 32 bits contêm três máscaras DWORD no membro bmiColors da estrutura BITMAPINFO . Essas máscaras de especificam quais bits no pel correspondem aos quais cores.

As máscaras de três devem ter bits contíguos, e sua ordem será considerada R, G, B (bits altas a baixas bits). A ordem das máscaras de três na tabela de cores também deve ser primeiro vermelho, em seguida, verde e azul (RGB). Dessa maneira, o programador pode especificar uma máscara que indica quantas tonalidades de cada cor RGB estará disponíveis para bitmaps criados com CreateDIBitmap() . Para DIBs de 16 bits por pixel, CreateDIBitmap() padrões para o formato RGB555. Para DIBs de 32 bits por pixel, CreateDIBitmap() padrões para um formato RGB888.

Observação : O DIB mecanismo no Windows 95 suporta apenas RGB555 e RGB565 para DIBs de 16 bits e apenas RGB888 para DIBs de 32 bits.

Exemplo

As máscaras de formato RGB555 devem parecer com o exemplo a seguir:
   0x00007C00  red   (0000 0000 0000 0000 0111 1100 0000 0000)
   0x000003E0  green (0000 0000 0000 0000 0000 0011 1110 0000)
   0x0000001F  blue  (0000 0000 0000 0000 0000 0000 0001 1111)
				
Observação : para 16 bits-por-pel, a metade superior do sempre são zerado.

As máscaras de formato RGB888 devem parecer com o exemplo a seguir:
   0x00FF0000  red   (0000 0000 1111 1111 0000 0000 0000 0000)
   0x0000FF00  green (0000 0000 0000 0000 1111 1111 0000 0000)
   0x000000FF  blue  (0000 0000 0000 0000 0000 0000 1111 1111)
				

Uso

Ao usar formatos de 16 e 32 bits, também há determinados campos da estrutura BITMAPINFOHEADER que devem ser definidos para os valores corretos:

  1. O membro biCompression deve ser definido como BI_RGB ou BI_BITFIELDS. Usar BI-RGB indica que não há máscaras de bits estão incluídas na tabela de cores e que o formato padrão (RGB555 para 16bpp) e RGB888 para 32 bpp é inferido. Usar BI_BITFIELDS indica que há máscaras (campos de bits) especificadas na tabela cor.
  2. Como com formatos de 24 bits por pixel, o membro biClrUsed Especifica o tamanho da tabela de cores usado para otimizar o desempenho de paletas de cores do Windows. Se o biCompression é definido como BI_BITFIELDS, em seguida, a paleta de cores ideal inicia imediatamente após as máscaras DWORD três. Observe que uma paleta de cores ideal é opcional e muitos aplicativos irão ignorá-la.

O Windows 95

No Windows 95, se o sinalizador BI_BITFIELDS estiver definido, e uma máscara de cor deve ser especificada e ele deve ser um dos seguintes:
   Resolution    Bits Per Color    Color Mask
   -------------------------------------------------------------
   16bpp         5,5,5             0x00007c00 0x000003e0 0x0000001f
   16bpp         5,6,5             0x0000f800 0x000007e0 0x0000001f
   32bpp         8,8,8             0x00ff0000 0x0000ff00 0x000000ff
				
máscaras de cor definida pelo usuário não estão disponíveis no Windows 95.

A informação contida neste artigo aplica-se a:
  • Interface de Programação de Aplicativos do Microsoft Win32 nas seguintes plataformas
    • Microsoft Windows 95
    • Microsoft Windows NT Server 3.5
    • Microsoft Windows NT Server 3.51
    • Microsoft Windows NT Workstation 3.5
    • Microsoft Windows NT Workstation 3.51
    • Microsoft Windows 2000 Advanced Server
    • Microsoft Windows 2000 Server
    • Microsoft Windows 2000 Professional Edition
    • Microsoft Windows XP Home Edition
    • Microsoft Windows XP Professional
Palavras-chave: 
kbmt kbdownload kbdownload kbbitmap kbfile kbgdi kbinfo kbsample KB94326 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 94326  (http://support.microsoft.com/kb/94326/en-us/ )