February 4th, 2013, 06:57 PM
Display average pixel values
I have a project which opens an image in PictureBox1, no problem. But the Public Static Color method at the bottom of the code is not working. I was hoping it would display the average value of the pixels in the image. Can anybody help me to understand why it is not working please? Thank you.
public partial class Form1 : Form
private void button1_Click(object sender, EventArgs e)
Bitmap myImage1 = (Bitmap)pictureBox1.Image;
OpenFileDialog ofd1 = new OpenFileDialog();
if (ofd1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
pictureBox1.Image = Image.FromFile(ofd1.FileName);
Image k = Image.FromFile(ofd1.FileName);
Graphics g = Graphics.FromImage(k);
g.FillRectangle(Brushes.White, 155, 235, 120, 70);
g.DrawRectangle(Pens.YellowGreen, 155, 235, 120, 70);
StringFormat sf = (StringFormat)StringFormat.GenericTypographic.Clone();
sf.Alignment = StringAlignment.Center;
sf.LineAlignment = StringAlignment.Center;
Font("Arial", 14, GraphicsUnit.Point), Brushes.Black, new RectangleF(157, 237, 114, 65), sf);
Image image_rect = Image.FromFile("C:\\testimage.jpeg");
pictureBox3.Image = image_rect;
//pictureBox3.Height = image_rect.Height;
//pictureBox3.Width = image_rect.Width;
public static Color getDominantColor(Bitmap myImage1)
//Used for tally
int i = 0;
int j = 0;
int r = 0;
int g = 0;
int b = 0;
int total = 0;
for (i = 0; i < myImage1.Width; i++)
for (j = 0; j < myImage1.Height; j++)
Color clr = myImage1.GetPixel(i, j);
r += clr.R;
g += clr.G;
b += clr.B;
r /= total;
g /= total;
b /= total;
Console.WriteLine(j.ToString() + " " + i.ToString());
return Color.FromArgb(r, g, b);
private void button2_Click(object sender, EventArgs e)
Bitmap myImage2 = (Bitmap)pictureBox2.Image;
OpenFileDialog ofd2 = new OpenFileDialog();
if (ofd2.ShowDialog() == System.Windows.Forms.DialogResult.OK)
pictureBox2.Image = Image.FromFile(ofd2.FileName);
February 4th, 2013, 07:23 PM
Would I be correct in understanding that this is C# code?
Please define "not working". How is it not working?
Is the code compiling? If not, then what are the compile errors (it might also be helpful to state what compiler you are using)? If it does compile then please describe what is happening.
February 5th, 2013, 11:07 AM
Well, one obvious problem is that your getDominantColor method is not being executed by any event subroutine etc. Thus, it is "not working".
Edit. If you're using Visual Studio, you can view the output by opening the Output Window from the Debug->Window->Output menu option.
Last edited by BobS0327; February 5th, 2013 at 04:23 PM.