Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - PictureBox Rintagliare Immagine
Forum - C# / VB.NET - PictureBox Rintagliare Immagine

Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2305
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 19:21
Sabato, 12/07/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


https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 8:20
Domenica, 13/07/2008
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.

PM Quote
Avatar
wolfslair (Normal User)
Rookie


Messaggi: 25
Iscritto: 02/06/2008

Segnala al moderatore
Postato alle 17:14
Martedì, 15/07/2008
Questo dovrebbe essere un esempio che salva una parte di un'immagine:

http://www.vb-helper.com/howto_2005_crop_picture.html

Per funzionare funziona (in VS2005) puoi usarlo come spunto..

Ultima modifica effettuata da wolfslair il 15/07/2008 alle 17:15
PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2305
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 12:51
Sabato, 09/08/2008
si ma mi da un problema qui


Codice sorgente - presumibilmente VB.NET

  1. Dim bmp = New Bitmap(dest_rect.Width, dest_rect.Height)
  2.         Dim pg As Graphics = Graphics.FromImage(bmp)
  3.  
  4.  
  5.  
  6.         pg.FillRectangle(Brushes.White, 0, 0, dest_rect.Width, dest_rect.Height)
  7.  
  8. 'qui dà errore Graphics.FromImage(PictureBox1.Image).CopyFromScreen(35, 75, 1, 1, dest_rect.Size)
  9.  
  10.  
  11.  
  12.  
  13.         pg.FillRectangle(Brushes.White, 0, 0, PictureBox1.Width, PictureBox1.Height)
  14.  
  15.         pg.DrawImage(dest_rect.Image, 0, 0)
  16.  
  17.  
  18.         PictureBox1.Image = bmp
  19.         PictureBox1.Image.Save("C:\img.bmp", System.Drawing.Imaging.ImageFormat.Bmp)



https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 14:40
Domenica, 10/08/2008
Testo quotato

Postato originariamente da Thejuster:

si ma mi da un problema qui


Codice sorgente - presumibilmente VB.NET

  1. Dim bmp = New Bitmap(dest_rect.Width, dest_rect.Height)
  2.         Dim pg As Graphics = Graphics.FromImage(bmp)
  3.  
  4.  
  5.  
  6.         pg.FillRectangle(Brushes.White, 0, 0, dest_rect.Width, dest_rect.Height)
  7.  
  8. 'qui dà errore Graphics.FromImage(PictureBox1.Image).CopyFromScreen(35, 75, 1, 1, dest_rect.Size)
  9.  
  10.  
  11.  
  12.  
  13.         pg.FillRectangle(Brushes.White, 0, 0, PictureBox1.Width, PictureBox1.Height)
  14.  
  15.         pg.DrawImage(dest_rect.Image, 0, 0)
  16.  
  17.  
  18.         PictureBox1.Image = bmp
  19.         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.

PM Quote