Resimdeki yüzdeyi bulmak için, her pikselin red, blue ve green değerlerini bulman gerekir.
private int blue = 0;
private int red = 0;
private int green = 0;
Bitmap b = new Bitmap(pictureBox1.Image);
for ( int i = 0; i < b.Height; i++ ) {
for ( int j = 0; j < b.Width; j++ ) {
Color pixelColor = b.GetPixel(j, i);
this.blue += Convert.ToInt32(pixelColor.B);
this.red += Convert.ToInt32(pixelColor.R);
this.green += Convert.ToInt32(pixelColor.G);
}
}
int ToplamRenkYogunlugu = this.blue + this.red + this.green;
decimal MaviYogunluk = (Convert.ToDecimal(this.blue) / Convert.ToDecimal(ToplamRenkYogunlugu)) * 100;
decimal KirmiziYogunluk = (Convert.ToDecimal(this.red) / Convert.ToDecimal(ToplamRenkYogunlugu)) * 100;
decimal YesilYogunluk = 100 - (MaviYogunluk + KirmiziYogunluk);
MessageBox.Show("Mavi % " + MaviYogunluk.ToString());
MessageBox.Show("Kirmizi % " + KirmiziYogunluk.ToString());
MessageBox.Show("Yeşil % " + YesilYogunluk.ToString());Yatay ve dikey resmi taradıktan sonra red, blue ve green değerlerini aldık. Hepsini topladık. Toplama göre yüzdelerini hesapladık.