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 - Bitmap
Forum - C# / VB.NET - Bitmap

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
marco1 (Normal User)
Pro


Messaggi: 157
Iscritto: 12/02/2009

Segnala al moderatore
Postato alle 0:30
Mercoledì, 15/07/2009
... :asd: :asd: ... io devo immettere in un picturebox piccolo una bitmap circa (3000x2200) .... quasi una foto stanard... facendo in modo che l'immagine venga visualizzata tutta... (Quindi ridurla)... come posso fare?? :D :D :D

e ancora....

con una variabile bitmap ho a disposizione la funzione 'getPixel'
e io scrivo...

Codice sorgente - presumibilmente C# / VB.NET

  1. Dim Colore As System.Drawing.Color = New System.Drawing.Color
  2. Colore = Foto.GetPixel(e.X, e.Y)
  3. PictureBox2.BackColor = Colore



ma durante :  Colore = Foto.GetPixel(e.X, e.Y)
mi da errore e mo dice che non c'e listanza di un ogetto... Perche?? :-? :-? :-?

Ultima modifica effettuata da marco1 il 15/07/2009 alle 1:11
PM Quote
Avatar
GoLDBeRG (Ex-Member)
Expert


Messaggi: 331
Iscritto: 19/12/2005

Segnala al moderatore
Postato alle 9:05
Mercoledì, 15/07/2009
per la prima basta imposti a zoom.... per la seconmda non saprei..

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 9:29
Mercoledì, 15/07/2009
Sicuro di aver inizializzato Foto? E poi la classe Color non espone costruttori, come mai non ti ha dato errore su New alla riga prima?

PM Quote
Avatar
riseofapocalypse (Ex-Member)
Pro


Messaggi: 150
Iscritto: 08/07/2009

Segnala al moderatore
Postato alle 9:35
Mercoledì, 15/07/2009
Confermo ciò che ha detto Totem riguardo la variabile Foto (mi ha anticipato di pochi minuti :D )...tuttavia devo contraddirlo per quanto riguarda Color che non è una classe, bensì una struttura, per cui il costruttore (che risulta senza parametri) può essere chiamato (anche se dovrebbe essere supportato da With {...} per inizializzarne i valori) :k:

P.S. Se vuoi riempire la PictureBox con l'immagine forse è meglio usare StretchImage :)

Ultima modifica effettuata da riseofapocalypse il 15/07/2009 alle 9:36
PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 9:40
Mercoledì, 15/07/2009
E' vero, è una struttura...

PM Quote
Avatar
roberto ghiardo (Normal User)
Newbie


Messaggi: 2
Iscritto: 15/07/2009

Segnala al moderatore
Postato alle 11:02
Mercoledì, 15/07/2009
ciao, io ho vatto una cosa simile....
leggo un immagine da file, la metto in una pictore box e ne imposto lo zoom che voglio,

di seguito l'evento paint della picturebox
Codice sorgente - presumibilmente VB.NET

  1. zoomFactor = 1
  2.  
  3.             ' Get the resized image.
  4.             'Dim sourceBitmap As New Bitmap(currentImage)
  5.             Dim destBitmap As New Bitmap(CInt(currentImage.Width * zoomFactor), _
  6.             CInt(currentImage.Height * zoomFactor))
  7.  
  8.             Dim destGraphic As Graphics = Graphics.FromImage(destBitmap)
  9.  
  10.             destGraphic.DrawImage(currentImage, difx, dify, destBitmap.Width + 1, _
  11.                 destBitmap.Height + 1)
  12.  
  13.             ' Save the size of the image on the screen in globals.
  14.  
  15.  
  16.             picture.Image = destBitmap
  17.  
  18.  
  19.             bbool = False



Spero possa esserti di aiuto...
Robert

PM Quote
Avatar
marco1 (Normal User)
Pro


Messaggi: 157
Iscritto: 12/02/2009

Segnala al moderatore
Postato alle 12:12
Mercoledì, 15/07/2009
...Ok... fin qua grazie... comunque... io come faccio a leggee i vari bitdella bimap... estraendone il colore???

PM Quote
Avatar
riseofapocalypse (Ex-Member)
Pro


Messaggi: 150
Iscritto: 08/07/2009

Segnala al moderatore
Postato alle 12:18
Mercoledì, 15/07/2009
Se non sbaglio la GetPixel ritorna un colore, per cui puoi fare così:
Codice sorgente - presumibilmente VB.NET

  1. For i As Integer = 0 To Foto.Width - 1
  2.      For j As Integer = 0 To Foto.Height - 1
  3.           ' Qua chiami la GetPixel(i, j) per ottenere il colore e lo utilizzi
  4.      Next
  5. Next


:k:

PM Quote
Avatar
roberto ghiardo (Normal User)
Newbie


Messaggi: 2
Iscritto: 15/07/2009

Segnala al moderatore
Postato alle 17:12
Mercoledì, 15/07/2009
Si, i pixel li prendi con la get pixel, ma il metodo è lentissimo.....
se ci devi smanettare sopra, ti conviene farlo in un altro modo... abbastanza complicato. ma si fa

Roberto

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo