marco1 (Normal User)
Pro
Messaggi: 157
Iscritto: 12/02/2009
|
... ... 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??
e ancora....
con una variabile bitmap ho a disposizione la funzione 'getPixel'
e io scrivo...
Codice sorgente - presumibilmente C# / VB.NET |
Dim Colore As System.Drawing.Color = New System.Drawing.Color
Colore = Foto.GetPixel(e.X, e.Y)
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 |
|
GoLDBeRG (Ex-Member)
Expert
Messaggi: 331
Iscritto: 19/12/2005
|
per la prima basta imposti a zoom.... per la seconmda non saprei..
|
|
Il Totem (Admin)
Guru^2
Messaggi: 3635
Iscritto: 24/01/2006
|
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?
|
|
riseofapocalypse (Ex-Member)
Pro
Messaggi: 150
Iscritto: 08/07/2009
|
Confermo ciò che ha detto Totem riguardo la variabile Foto (mi ha anticipato di pochi minuti )...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)
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 |
|
Il Totem (Admin)
Guru^2
Messaggi: 3635
Iscritto: 24/01/2006
|
E' vero, è una struttura...
|
|
roberto ghiardo (Normal User)
Newbie
Messaggi: 2
Iscritto: 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 |
zoomFactor = 1 ' Get the resized image. 'Dim sourceBitmap As New Bitmap(currentImage) Dim destBitmap As New Bitmap(CInt(currentImage.Width * zoomFactor), _ CInt(currentImage.Height * zoomFactor)) Dim destGraphic As Graphics = Graphics.FromImage(destBitmap) destGraphic.DrawImage(currentImage, difx, dify, destBitmap.Width + 1, _ destBitmap.Height + 1) ' Save the size of the image on the screen in globals. picture.Image = destBitmap bbool = False
|
Spero possa esserti di aiuto...
Robert
|
|
marco1 (Normal User)
Pro
Messaggi: 157
Iscritto: 12/02/2009
|
...Ok... fin qua grazie... comunque... io come faccio a leggee i vari bitdella bimap... estraendone il colore???
|
|
riseofapocalypse (Ex-Member)
Pro
Messaggi: 150
Iscritto: 08/07/2009
|
Se non sbaglio la GetPixel ritorna un colore, per cui puoi fare così:
Codice sorgente - presumibilmente VB.NET |
For i As Integer = 0 To Foto.Width - 1 For j As Integer = 0 To Foto.Height - 1 ' Qua chiami la GetPixel(i, j) per ottenere il colore e lo utilizzi Next Next
|
|
|
roberto ghiardo (Normal User)
Newbie
Messaggi: 2
Iscritto: 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
|
|