ID do artigo: 216205 - Última revisão: terça-feira, 29 de junho de 2004 - Revisão: 3.0

PROBLEMA: "Erro 481: imagem inválida" Erro exibindo arquivos BMP

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

Sintomas

Bitmaps criados usando Win98 Imaging componentes, como o Imaging para Windows (Win98) ou IMGEDIT.OCX, criar um BMP não pode ser lido no Windows 95, Windows NT 4.0 ou Windows 2000 usando MSPAINT.EXE ou o controle PictureBox do Visual Basic.

Você deve receber a mensagem de erro folling:
Erro 481: Imagem inválida ao visualizar BMP criado usando o Kodak Imaging no Win98

Causa

Os componentes Win98 Imaging salvar bitmaps usando a estrutura BITMAPINFOHEADER v5.0.

A seguir está a estrutura de v5.0 BITMAPINFOHEADER VC ++:

typedef struct {
   DWORD        bV5Size;
   LONG         bV5Width;
   LONG         bV5Height;
   WORD         bV5Planes;
   WORD         bV5BitCount;
   DWORD        bV5Compression;
   DWORD        bV5SizeImage;
   LONG         bV5XPelsPerMeter;
   LONG         bV5YPelsPerMeter;
   DWORD        bV5ClrUsed;
   DWORD        bV5ClrImportant;
   DWORD        bV5RedMask;
   DWORD        bV5GreenMask;
   DWORD        bV5BlueMask;
   DWORD        bV5AlphaMask;
   DWORD        bV5CSType;
   CIEXYZTRIPLE bV5Endpoints;
   DWORD        bV5GammaRed;
   DWORD        bV5GammaGreen;
   DWORD        bV5GammaBlue;
   DWORD        bV5Intent;
   DWORD        bV5ProfileData;
   DWORD        bV5ProfileSize;
   DWORD        bV5Reserved;
} BITMAPV5HEADER, FAR *LPBITMAPV5HEADER, *PBITMAPV5HEADER;


Os membros dessa estrutura, começando com bV5Size através de bV5ClrImportant, são iguais aos encontrados em uma estrutura BITMAPINFOHEADER normal, que é legível no Windows 95, Windows NT e Windows 2000. O restante da estrutura BITMAPINFOHEADER contém novos membros onde aplicativos mais antigos esperaria encontrar o início da tabela de cores.

Resolução

Existem três soluções alternativas para esse problema:

  • Abra o BMP resultante usando o aplicativo 'Imaging para Windows' no Windows 95, Windows NT ou Windows 2000 e salvá-lo novamente. Isso salva o bitmap no formato BMP padrão.

  • Abra o resultante BMP usando o IMGEDIT controle no Windows 95, Windows NT ou Windows 2000 e fazer uma SaveAs na imagem para salvá-lo novamente como um BMP. Isso salva o bitmap no formato BMP padrão.

  • Crie uma rotina que lê o arquivo BMP e converte-os novamente para a estrutura BITMAPINFOHEADER original.

Situação

Esse problema foi relatado como um bug a Eastman Kodak, responsáveis por dos controles imagem.

Mais Informações

Etapas para reproduzir o problema

  1. Usando o controle ImgEdit Win98, salve uma imagem BMP em um arquivo.
  2. Leve esse arquivo para um sistema Windows 95, Windows NT ou Windows 2000. Tente carregá-lo em MSPAINT.EXE ou a propriedade Picture de um controle PictureBox do Visual Basic.

A informação contida neste artigo aplica-se a:
  • Microsoft Visual Basic 5.0 Learning Edition
  • Microsoft Visual Basic 6.0 Learning Edition
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0
  • Microsoft Visual Basic 4.0 Standard Edition
  • Microsoft Visual Basic 4.0 Professional Edition
  • Microsoft Visual Basic 4.0 de 32 Bits Enterprise Edition
Palavras-chave: 
kbmt kb3rdparty kbbitmap kbprb KB216205 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: 216205  (http://support.microsoft.com/kb/216205/en-us/ )