Salve; avrei bisogno di inserire delle immagini all'interno di una gridview.
Così riesco a inserire la foto, ma se ha dimensioni superiori al posto riservatogli (100,100), esce dai margini.
Come faccio a ridimensionare l'immagine, in modo che riesca a visualizzarla correttamente?
DIM iPic AS Picture
iPic = NEW Picture
iPic = Picture.Load(PathImage)
GridView1[x, 1].Picture = iPic
Grazie.
Come faccio a ridimensionare l'immagine, in modo che riesca a visualizzarla correttamente?
Bisogna stirare l'immagine, così riducendola.
Avevo dunque pensato una cosa di questo genere:
Public Sub ...........()
Dim p As Picture
Dim i As New Image
i = i.Load("/percorso/del/file/immagine")
With GridView1[0, 0]
i.Stretch(.W, .H) ' riduciamo l'immagine sulla base delle dimensioni della cella 0, 0
p = i.Picture ' convertiamo l'immagine in una "Picture"
.Picture = p ' e la carichiamo nella cella 0, 0
End With
.............
Però, non capisco perché, non funziona: l'immagine non viene stirata.
Grazie a te ho trovato come fare:
Public Sub ...........()
Dim p As New Picture
Dim i As New Image
i = i.Load("percorso_immagine_da_mostrare").Stretch(100, 100) 'Quì carica l'immagine già ridotta
With GridView1[0, 0]
p = i.Picture ' convertiamo l'immagine in una "Picture"
.Picture = p ' e la carichiamo nella cella 0, 0
End With
Grazie a te ho trovato come fare:
i = i.Load("/percorso/del/file/immagine").Stretch(100, 100) 'Quì carica l'immagine già ridotta
Bravo clabe69 !
Vedi ? Pure un asino come me può far percorrere molta strada ! :-X
Se non vuoi fissare i valori delle dimensioni dell'immagine, ma definirli dinamicamente sulla base delle dimensioni della cella, puoi ovviamente fare così:
Dim p As Picture
Dim i As New Image
With GridView1[0, 0]
i = i.Load("/percorso/del/file/immagine").Stretch(.W, .H)
p = i.Picture
.Picture = p
End With
Se impostare in modo stabile e non automatico le dimensioni dell'immagine non è per te un problema, puoi ridurre molto quel codice con una sola riga, utilizzando il metodo .RichText ed il codice html.
Basterà fare:
Public Sub ...........()
GridView1[0, 0].RichText = "<IMG src=/percorso/del/file/immagine height=100 width=100>"
End
;)
e... funzionera' anche cosi'?:
With GridView1[0, 0]
.Picture = Image.Load("percorso_immagine_da_mostrare").Stretch(.W, .H).Picture
End With
:)
Se impostare in modo stabile e non automatico le dimensioni dell'immagine non è per te un problema, puoi ridurre molto quel codice con una sola riga, utilizzando il metodo .RichText ed il codice html.
Non avevo studiato bene la cosa: si può ottenere un dimensionamento automatico anche usando l'html:
With GridView1[0, 0]
.RichText = "<IMG src=/percorso/del/file/immagine height=" & .W & " width=" & .H & ">"
End With
Qundi anche con l'uso dell'html :D abbiamo ottenuto la riduzione del codice e l'automatismo del dimensionamento dell'immagine sulla base delle dimensioni della cella.