Forum - C# / VB.NET
- PictureBox Rintagliare Immagine
Thejuster (Admin )
Guru^2
Messaggi: 2253
Iscritto: 04/05/2008
Salve siccome sto sempre realizzando il mio progetto che si avvia sempre alla vicina conclusione
(mmorpg 2d engine)
sto realizzando un editor di livelli
usando delle sprite che si trovano nella rete
alcune di rpgmakerxp forse lo conoscete
piccolo problemuccio.
qualcuno saprebbe consigliarmi come ricavare un una porzione dall'immagine?
esempio partendo dal pixel 32 rintagliandolo fino a 64
e copiarlo nella clipboard
e molto importante grazie mille
Il Totem (Admin )
Guru^2
Messaggi: 3635
Iscritto: 24/01/2006
Puoi usare Graphics.CopyFromScreen, poi disegnare questo su uba bitmap creata al momento e immetterla nella clipboard con Clipboard.SetImage. Capitolo "La Grafica" della mia guida, versione 2.
wolfslair (Normal User)
Rookie
Messaggi: 25
Iscritto: 02/06/2008
Ultima modifica effettuata da wolfslair il 15/07/2008 alle 17:15
Thejuster (Admin )
Guru^2
Messaggi: 2253
Iscritto: 04/05/2008
si ma mi da un problema qui
Codice sorgente - presumibilmente VB.NET
Dim bmp = New Bitmap( dest_rect.Width , dest_rect.Height )
Dim pg As Graphics = Graphics.FromImage ( bmp)
pg.FillRectangle ( Brushes.White , 0, 0, dest_rect.Width , dest_rect.Height )
'qui dà errore Graphics.FromImage(PictureBox1.Image).CopyFromScreen(35, 75, 1, 1, dest_rect.Size)
pg.FillRectangle ( Brushes.White , 0, 0, PictureBox1.Width , PictureBox1.Height )
pg.DrawImage ( dest_rect.Image , 0 , 0 )
PictureBox1.Image = bmp
PictureBox1.Image .Save ( "C:\img.bmp" , System.Drawing .Imaging .ImageFormat .Bmp )
Il Totem (Admin )
Guru^2
Messaggi: 3635
Iscritto: 24/01/2006
Postato originariamente da Thejuster :
si ma mi da un problema qui
Codice sorgente - presumibilmente VB.NET
Dim bmp = New Bitmap( dest_rect.Width , dest_rect.Height )
Dim pg As Graphics = Graphics.FromImage ( bmp)
pg.FillRectangle ( Brushes.White , 0, 0, dest_rect.Width , dest_rect.Height )
'qui dà errore Graphics.FromImage(PictureBox1.Image).CopyFromScreen(35, 75, 1, 1, dest_rect.Size)
pg.FillRectangle ( Brushes.White , 0, 0, PictureBox1.Width , PictureBox1.Height )
pg.DrawImage ( dest_rect.Image , 0 , 0 )
PictureBox1.Image = bmp
PictureBox1.Image .Save ( "C:\img.bmp" , System.Drawing .Imaging .ImageFormat .Bmp )
Semplicemente perchè mentre stai costruendo l'immagine da assegnare PictureBox1.Image, cerchi di creare una graphics da quest'ultima, che invece non esiste. Dovrebbe essere pg.CopyFromScreen, proprio come hai fatto con gli altri metodi.