Modificare le dimensioni di un'immagine di una picturebox

martedì 03 luglio 2012 - 11.11
Tag Elenco Tags  VB.NET  |  .NET 4.0  |  Windows 7  |  Visual Studio 2010  |  SQL Server 2005  |  Access (.mdb)  |  Office 2007  |  Chrome  |  VBScript

Anonimo Profilo | Senior Member

Salve a tutti. Uso il Visual Basic 2010. VOrrei porvi una domanda: come si possono modificare le dimensioni dell'immagine di una picturebox? Ripeto, l'IMMAGINE, non ditemi come modificare le dimensioni di una picturebox con i comandi
Picturebox.width=*
Picturebox.height=*
Se nell'evento Click di un Button scrivo:

Privarte Sub Button1_Click
Picturebox1.image.width=picturebox.image.width +2
End Sub

mi dice "Width" è "Read ONly"
Vi prego aiutatemi
Grazie

alx_81 Profilo | Guru

>Salve a tutti.
Ciao

>Privarte Sub Button1_Click
>Picturebox1.image.width=picturebox.image.width +2
>End Sub
>mi dice "Width" è "Read ONly"
è read only perchè viene valorizzata dal costruttore della bitmap e legge le reali dimensioni.
Se vuoi fare resize dell'immagine devi prendere lo stream, cambiarlo e salvarlo su di un altro file.
Ma come mai devi ridimensionare l'immagine? Puoi essere più dettagliato?

>Grazie
di nulla!
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.microsoft.com/profiles/Alessandro.Alpi

Anonimo Profilo | Senior Member

Allora, ti spiego. Ho creato due picturebox. la prima è come se fosse il foglio di paint e la seconda serve per dimensionare un'immagine von dei pulsanti + e -. ho messo sizemode come stretchimage. poi da codice ho scritto questo

Public class Form1()
Dim Disegno as graphics
Dim Immagine as new bitmap (700,700)

Private Sub Form1_load()
Immagine.fromimage(Picturebox1.image)
End Sub

Private Sub Picturebox1_click()
Disegno.drawimage(picturebox2.image,0,0)
Picturebox1.image(Immagine)
End sub
End class

L'immagine me la disegna ma se io aumento tanto la larghezza della picturebox2 quando disegno la sua immagine le dimensioni sono le medesime

alx_81 Profilo | Guru

>L'immagine me la disegna ma se io aumento tanto la larghezza
>della picturebox2 quando disegno la sua immagine le dimensioni
>sono le medesime
scusami qui non ti seguo.. premi N volte il +?
Per tanto cosa intendi? Cosa è che succede di preciso? Oltre alla sua max size non va?


--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.microsoft.com/profiles/Alessandro.Alpi

Anonimo Profilo | Senior Member

No no non hai capito Allora mettiamo il caso che la picturebox2 e la sua immagine abbiano tutte e due size 200;200 e sizemode=Stretchimage
Se io con il tasto "+" porto la lunghezza della picturebox a 250 visivamente anche il size dell'immagine è 250;200 però quando vado a disegnare quell'immagine nell picturebox1 mi compare con le dimensioni 200;200 ed è questo che io non voglio. così come vedo l'immagine 250;200 voglia che venga disegnata 250;200 e non 200;200. Capito?

Anonimo Profilo | Senior Member

Se non l'avevi capito il famoso tasto + è un button con proprietà text "+"

blackspidy14 Profilo | Junior Member

ciao se ho capito bene dovresti ingrandire la picturebox prova a vedere se ti va bene questo codice:

Dim x As Integer Dim y As Integer y += 50 x += 50 Dim point As New Point With point .X = PictureBox1.Width + x .Y = PictureBox1.Height + y End With PictureBox1.Size = point

è da inserire nell'evento click del button

Vinsent Profilo | Senior Member

>No no non hai capito Allora mettiamo il caso che la picturebox2
>e la sua immagine abbiano tutte e due size 200;200 e sizemode=Stretchimage
>Se io con il tasto "+" porto la lunghezza della picturebox a
>250 visivamente anche il size dell'immagine è 250;200 però quando
>vado a disegnare quell'immagine nell picturebox1 mi compare con
>le dimensioni 200;200 ed è questo che io non voglio. così come
>vedo l'immagine 250;200 voglia che venga disegnata 250;200 e
>non 200;200. Capito?

Come ti ha risposto alx_81 devi lavorare su un' altro file o oggetto.
In questo caso, a livello "visivo", puoi usare:
http://msdn.microsoft.com/it-it/library/system.drawing.image.getthumbnailimage.aspx
codice di esempio...FORMATTATO per leggerlo meglio...:

Dim myThumbnail As Image = PictureBox1.Image.GetThumbnailImage _ (PictureBox1.Width, PictureBox1.Height, Nothing, IntPtr.Zero) PictureBox2.Image = myThumbnail






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-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5