Artigo: 216205 - Última revisão: terça-feira, 29 de Junho de 2004 - Revisão: 3.0

PROBLEMA: "erro 481: imagem inválida" Erro de visualizar ficheiros 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 | Reduzir tudo

Sintomas

Os mapas de bits criados utilizando componentes Win98 Imaging, tal como o Imaging para Windows (Win98) ou IMGEDIT.OCX, criar um BMP não é possível ler no Windows 95, Windows NT 4.0 ou Windows 2000 utilizando MSPAINT.EXE ou o controlo do Visual Basic PictureBox.

Receberá a mensagem de erro folling:
Erro 481: Imagem inválida quando visualizar BMP criado utilizando o Imaging da Kodak no Win98

Causa

Os componentes Win98 Imaging guardar mapas de bits utilizando a estrutura BITMAPINFOHEADER v5.0.

Segue-se a estrutura de v5.0 VC ++ BITMAPINFOHEADER:

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 desta estrutura começando bV5Size através de bV5ClrImportant, são iguais aos existentes uma estrutura BITMAPINFOHEADER normal, que é legível no Windows 95, Windows NT e Windows 2000. O resto da estrutura BITMAPINFOHEADER contém novos membros em aplicações mais antigas previsto para encontrar o início da tabela de cores.

Resolução

Existem três soluções para este problema:

  • Abra o BMP resultante utilizando a aplicação 'Imaging for Windows' no Windows 95, Windows NT ou Windows 2000 e guarde-o novamente. Isto guarda o mapa de bits no formato BMP padrão.

  • Abra o resultante BMP utilizando o IMGEDIT controlar no Windows 95, Windows NT ou Windows 2000 e efectue um guardar como na imagem guardá-lo sem novamente como um BMP. Isto guarda o mapa de bits no formato BMP padrão.

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

Ponto Da Situação

Este problema foi reportado como um erro Eastman Kodak, fabricantes de controlos Imaging.

Mais Informação

Passos para reproduzir o comportamento

  1. Utilizar o controlo Win98 ImgEdit, guarde uma imagem BMP num ficheiro.
  2. Leve esse ficheiro para um sistema Windows 95, Windows NT ou Windows 2000. Tentativa de carregar MSPAINT.EXE ou a propriedade de imagem de um controlo do Visual Basic PictureBox.

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 32-Bit 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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes 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/ )