VB.NET: Fechando o arquivo após carregar uma imagem
Veja nesta dica, como trabalhar com arquivos de imagens, a dica se resume em como liberar a imagem após seu carregamento
VB.NET: Fechando o arquivo após carregar uma imagem
Carregar uma imagem do disco é muito fácil:
picturebox1.image=Image.fromfile("nomedoarquivo")
Porém quando você faz isso o arquivo em disco da imagem permanece aberto, em uso, vinculado ao objeto Image que foi criado. Por exemplo, se você fizer em seguida :
Io.file.delete("nomedoarquivo")
Receberá um erro avisando que o arquivo está em uso.
Quer seja para deletar o arquivo ou apenas para liberar recursos, é importante que não deixemos este arquivo aberto inutilmente. Então, para resolver o problema, podemos fazer a carga da imagem da seguinte forma :
dim img as image
dim img2 as bitmap
img=Image.fromfile("nomedoarquivo")
img2=new bitmap(img)
img.dispose()
picturebox1.image=img2
Ao fazermos o dispose em img estamos fechando o arquivo e destruindo a imagem em memória. Porém quando fizemos um new bitmap, criamos uma nova cópia dessa imagem, porém em memória e desvinculada do arquivo que está aberto, nos permitindo fecha-lo com o dispose().
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo