PDA

View Full Version : [vb.net] Visualizzatore di immagini


mayor
11-07-2005, 20:22
ho 2 domande da porvi:

1)volevo creare un visualizzatore di immagini ma ho un problema:

io carico le immagini con il comando seguente

PictureBox1.Image = Image.FromFile(path)

solo che quando apro l'immagine successiva la precednte nn viene tolta dalla memoria che così si riempie fino a quando dà errore
c'è un comando per svuotare la memoria dalle immagini?

2)ho notato che una applicazione di visual basic base cioè quella creata automaticamente dal software occupa 8 mb di ram nn è un pò tantino per una sola finestra che nn fa nulla?(lo stesso problema sussiste con vc++)

Aines
11-07-2005, 20:47
Prova ad eseguire il dispose sull'oggetto Image, dovrebbe liberare le risorse utilizzate, qualcosa tipo:


// considero image come dichiarato nella classe
if (image != null)
{
image.Dispose();
}

image = Image.FromFile(path);
pictureBox1.Image = image;



Per quanto riguarda la memoria, non saprei dire con precisione, non sono un vero esperto, ma il .NET framework è un pò pesante, proprio perchè è un livello di astrazione superiore.

mayor
12-07-2005, 23:59
grazie dell'aiuto così funziona!

avrei un'altra domanda: ho usato questo codice per passare immagine successiva che si trova nella stessa cartella

If content = "" Then

Else
Status.Text = CurDir() + "\" + content
content = Dir()
If (IsDBNull(PictureBox1.Image) = False) Then
PictureBox1.Image.Dispose()
End If
PictureBox1.Image = Image.FromFile(Status.Text)
End If

grazie alla funzione dir() posso passare al file successivo ma c'è una funzione che mi permette di passare al file precedente?

io un'idea ce l'avrei ma devo salvare gli indirizzi di ogni singola immagine in un array e tutto questo occupa parecchia memoria! potete aiutarmi?