Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
.NET Framework
Cattura del disegno in una picturebox
mercoledì 30 aprile 2008 - 12.23
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
LLL
Profilo
| Newbie
18
messaggi | Data Invio:
mer 30 apr 2008 - 12:23
Ciao a tutti,
uso vb2003 e ho una picturebox in cui disegno delle cose, che vorrei salvare in un bitmap. Il problema e' che il comando:
picturebox1.image.save (<percorso>, <formato>)
non funziona, perché la proprietà image della picturebox risulta vuota.
Qualcuno sa come catturare in image il disegno fatto sulla picturebox, o suggerirmi una soluzione alternativa?
Grazie mille!!
LLL
LLL
Profilo
| Newbie
18
messaggi | Data Invio:
lun 5 mag 2008 - 15:09
Credo di aver risolto:
a quanto pare salvare come immagine quello che si è disegnato in un panel o in una picturebox è quanto mai complicato; molto piu' semplice in compenso è disegnare virtualmente in un oggetto immagine, che è anche possibile salvare, e poi stampare l'immagine creata sul panel del form.
La cosa ha richiesto anche pochissime modifiche al codice che avevo già scritto, che lascio qui sotto nel caso in futuro serva a qualcun altro.
Ciao a tutti,
LLL
_____________________VECCHIO CODICE - Disegno in un panel_____________________
Private Sub Panel1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Panel1.Paint
Dim Penna As New SolidBrush(Color.Black)
Dim Pennello As New SolidBrush(Color.Gray)
e.Graphics.DrawPolygon(Penna, myarray)
e.Graphics.FillPolygon(Pennello, myarray)
End Sub
__________________________________________________________________________
____NUOVO CODICE - Disegno in un oggetto immagine e riproduco nel panel l'immagine_____
Dim Drawing As Graphics = Me.CreateGraphics()
Dim ImGr As Image
Dim DFI As Graphics
Private Sub Panel1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Panel1.Paint
ImGr = New System.Drawing.Bitmap(Panel1.Width, Panel1.Height, Drawing)
DFI = Graphics.FromImage(ImGr)
Dim Background As New SolidBrush(Color.White)
Dim Penna As New SolidBrush(Color.Black)
Dim Pennello As New SolidBrush(Color.Gray)
'disegno nell'oggetto immagine
DFI.FillRectangle(Background, 0, 0, Panel1.Width, Panel1.Height)
DFI.DrawPolygon(Penna, myarray) 'e.Graphics.DrawPolygon(Penna, grafico)
DFI.FillPolygon(Pennello, myarray) 'e.Graphics.FillPolygon(Pennello, grafico)
'stampa dell'immagine nel pannello
e.Graphics.DrawImage(ImGr, 0, 0)
End Sub
'salvataggio dell'immagine
Private Sub MenuItemSalvaImme_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItemSalvaImm.Click
SaveFileDialog1.Title = "Salva immagine"
SaveFileDialog1.Filter = "File BITMAP (*.bmp)|*.bmp|File JPEG (*.jpg)|*.jpg"
'lancia il dialog e esegue il salvataggio dell'immagine se viene premuto il pulsante salva
If SaveFileDialog1.ShowDialog() = DialogResult.OK Then
ImGr.Save(SaveFileDialog1.FileName)
End If
End Sub
____________________________________________________________________________
biggiu
Profilo
| Junior Member
179
messaggi | Data Invio:
gio 28 lug 2011 - 19:22
Salve,
ho letto il tuo post e mi farebbe comodo avere la funzione da te descritta.
Potresti gentilmente mettere a disposizione un progetto demo, in modo da capirne il funzionamento e provarne le funzionalità ?
Grazie
BigGiu
Torna su
Stanze Forum
Elenco Threads
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 !