PDA

View Full Version : [C#] Pixel da una PictureBox


LuckyFox
24-03-2009, 13:37
Come è possibile estrarre il valore in byte di un singolo pixel in una picturebox....

Grazie Anticipatamente.

MarcoGG
25-03-2009, 08:13
Sicuro che si possa ridurre l'informazione di un pixel ad un solo byte ?
C'è ad esempio il metodo Color.ToArgb(), ma restituisce un int.

Esempio :

Bitmap BMP = new Bitmap(PictureBox1.Image);
Color pixelColor = BMP.GetPixel(10, 20);
int B = pixelColor.ToArgb();
MessageBox.Show(pixelColor.ToString());
MessageBox.Show(B.ToString());

Tommo
25-03-2009, 10:45
Beh un pixel occupa esattamente 4 bytes in formato standard, quindi può essere reinterpretato in un int.
Un singolo canale del pixel potrebbe essere interpretato come char.
Sta a te poi prendere il singolo colore facendo operazioni binarie con masks... tuttavia credo che C# fornisca metodi migliori di questo, non è "nel suo stile" :asd:

LuckyFox
25-03-2009, 22:12
Mi sono espresso male, il colore di un pixel in effetti è in formato ARGB e quindi 4 byte uno per ogni componente colore.

"Color pixelColor = BMP.GetPixel(10, 20);" è sufficiente Grazie.