Galleria immagini anteprime...

mercoledì 08 settembre 2004 - 21.13

w_t Profilo | Junior Member

Devo fare un visualizzatore di immagini in verticale,

in una Directory ho dei file .jpg

il programma mi deve fare un elenco di anteprime delle immagini contenute nella Directory,

io devo avere la possibilita di selezionare l'immagine e catturare un qualsiasi identificatore di essa, tipo il nome-file o un ID che assegno al momento della popolazione di questa lista,

non so se esiste uno strumento gia' pronto tipo una ListView con icone grandi o un TreeView o altro....

cosa mi consigliate di fare ???

trinity Profilo | Guru

Potresti provare con la listview a visualizzazione di icone grandi, caricare l'immagine e caricare anche il suo nome e al click te lo riprendi, fai una ricerca nella directory ed in base al nome potrai ottenere anche la grandezza del file in vb net utilizzando il segeunte modo:

'***lettura della directory***
Dim MyPath, MyName As String
MyPath = "percorso cartella immagini"
MyName = Dir(MyPath, vbDirectory)

Do While MyName <> ""
If (GetAttr(MyPath & MyName) And FileAttribute.Archive) = FileAttribute.Archive Then
Dim strfile As String
strfile = nome_file selezionato dalla listview & ".jpg"
If MyName = strfile Then
'carico le caratteristiche del file
Dim file As New IO.FileInfo("directory" & MyName)
Me.Label1.Text = MyName
Me.Label2.Text = Format(file.Length, "#,##0") & " " & "Byte"
Exit Do
End If
MyName = Dir()
End If
Loop
'---------------------------------------------

Ciao
Fabio

w_t Profilo | Junior Member

OK, ti ringrazio molto per ora, vado a provare, ciao!

trinity Profilo | Guru

Di nulla fammi sapere

Ciao
Fabio

w_t Profilo | Junior Member

Ho fatto questo:

ListView1.Items.Clear() Dim li As ListViewItem ListView1.LargeImageList = imageListLarge Dim myDir As DirectoryInfo = New DirectoryInfo(Path) Dim aFile As FileInfo Dim i As Integer = 0 For Each aFile In myDir.GetFiles li = ListView1.Items.Add(aFile.Name) li.ImageIndex = i imageListLarge.Images.Add(Bitmap.FromFile(aFile.FullName)) i = i + 1 Next

ina ImageList popolata dal "For Each" e una ListView con Icone Grandi ho modificato la misura portandola a 150px X 150px e via ......

w_t Profilo | Junior Member

Altro problema !!!

Solo che non so come fare per impostare le immagini della ListView con Width='150' e Height='che si adatti automaticamente'
sicuramente devo agire nella ImageList ma non so come !!!

trinity Profilo | Guru

L'imagelist ha la proprietà Imagesize su cui puoi settare l'altezza e larghezza dell'immagine ossia il Width e l'Height

Ciao
Fabio

w_t Profilo | Junior Member

OK e fin qui ci siamo, ma se voglio settare solamente la larghezza e l'altezza deve fare automaticamente in modo da non stirare(screcciare) l'immagine ???

o c'e' un metodo oppure devo sapere in anticipo l'altezza dell'immagine, il che non sono capace.

trinity Profilo | Guru

Modificare come dici te l'immagine puoi farla con una picturebox in una imagelist devi sapere in anticipo che grandezza vuoi utilizzare

Ciao

w_t Profilo | Junior Member

Ecome posso fare per estrarre le dimenzioni larghezza e altezza del file che sto' leggendo ???

ListView1.Items.Clear()
Dim li As ListViewItem
ListView1.LargeImageList = imageListLarge

Dim myDir As DirectoryInfo = New DirectoryInfo(Path)
Dim aFile As FileInfo
Dim i As Integer = 0

For Each aFile In myDir.GetFiles
li = ListView1.Items.Add(aFile.Name)
li.ImageIndex = i
imageListLarge.Images.Add(Bitmap.FromFile(aFile.FullName))
i = i + 1
Next
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5