Você recebe uma mensagem de erro "System.OutOfMemoryException" quando tenta usar o método Bitmap.FromFile no .NET Framework 1.0

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: 810109
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Sintomas
Ao tentar carregar uma imagem usando o método Bitmap.FromFile no Microsoft .NET Framework 1.0, você receber a seguinte mensagem de erro:
Uma exceção unhandle do tipo 'System.OutOfMemoryException' ocorreu em system.drawing.dll
Causa
Esse problema pode ocorrer quando você usa o método Bitmap.FromFile e uma das seguintes condições for verdadeira:
  • O arquivo de imagem está corrompido.
  • O arquivo de imagem está incompleto.

    Observação Você pode enfrentar esse problema se seu aplicativo está tentando usar Bitmap.FromFile método em um fluxo de arquivo que não seja terminado de escrever em um arquivo.
  • O arquivo de imagem não tem um formato de imagem válido ou GDI + não dá suporte o formato de pixel do arquivo.
  • O programa não tem permissões para acessar o arquivo de imagem.
  • Propriedade BackgroundImage é definida diretamente do método Bitmap.FromFile .
Como Contornar
Para contornar esse problema, use as diretrizes a seguir quando você carrega imagens usando o método Bitmap.FromFile :
  • Certifique-se de que o arquivo de imagem não está corrompido abrindo o arquivo de imagem em outro programa.
  • Verifique se que o arquivo de imagem está concluído e que todos os gravar o arquivo de imagem foi concluída antes de tentar carregar o arquivo de imagem.
  • Verifique se o tipo de arquivo de imagem é um formato de imagem aceitos. Para obter mais informações sobre formatos de imagem, visite o seguinte Microsoft Developer Network site (MSDN):
  • Examine as permissões do arquivo de imagem para garantir que o programa pode acessar o arquivo de imagem.
  • Quando você definir a propriedade BackgroundImage de um formulário, use o seguinte exemplo de código para definir a propriedade BackgroundImage :
    Bitmap bmp=(Bitmap)Image.FromFile(@"Pictures\MyImage.jpg"); this.BackgroundImage=new Bitmap(bmp,bmp.Size);
Observação Ao tentar carregar uma imagem de um arquivo, você pode capturar a exceção e, em seguida, relatar o erro. Por exemplo, o seguinte código Microsoft Visual Basic .NET tenta carregar uma imagem de um arquivo:
Try  PictureBox1.Image = Bitmap.From("c:\Badimage.gif")Catch ex As Exception  MessageBox.Show("Error loading file","Error")End Try
Situação
Esse comportamento é por design.
Mais Informações
Para obter mais informações sobre a classe de bitmap , visite o seguinte site da MSDN:
GDIPlus "memória insuficiente"

Propriedades

ID do Artigo: 810109 - Última Revisão: 12/08/2015 01:39:32 - Revisão: 1.3

Microsoft .NET Framework 1.0, Microsoft Visual Studio .NET 2002 Professional Edition, Microsoft Visual Studio .NET 2002 Enterprise Architect, Microsoft Visual Studio .NET 2002 Enterprise Developer, Microsoft Visual Studio .NET 2002 Academic Edition

  • kbnosurvey kbarchive kbmt kbgdiplus kbtshoot kbprb KB810109 KbMtpt
Comentários