高手帮帮忙啊!~!~获取像素值
请高手帮帮忙,怎么才能够获取BMP图象的R G B各个像素值
希望各位高手能够给个代码给小弟参考一下
问题点数:20、回复次数:11Top
1 楼ljc_zy(彷徨)回复于 2005-06-01 21:52:00 得分 10
public void GetPixel_Example(PaintEventArgs e)
{
// Create a Bitmap object from an image file.
Bimap myBitmap = new Bitmap("Grapes.jpg");
// Get the color of a pixel within myBitmap.
Color pixelColor = myBitmap.GetPixel(50, 50);
// Fill a rectangle with pixelColor.
SolidBrush pixelBrush = new SolidBrush(pixelColor);
e.Graphics.FillRectangle(pixelBrush, 0, 0, 100, 100);
}
Top
2 楼leonchenjian(小黑)回复于 2005-06-01 22:02:00 得分 10
要获取BMP图象的R G B各个像素值
以ljc_zy(彷徨)的代码为例
Color pixelColor = myBitmap.GetPixel(50, 50);后
pixelColor.R, pixelColor.G, pixelColor.B 即为相应象素的RGB值Top
3 楼171527461(蜗牛)回复于 2005-06-01 22:18:30 得分 0
那怎么才能够将它们各个像素值显示在TEXT框????Top
4 楼171527461(蜗牛)回复于 2005-06-01 22:19:28 得分 0
能不能够设置一个LONG 变量来存储R B G各个值然后传给TEXT框????Top
5 楼leonchenjian(小黑)回复于 2005-06-01 22:23:41 得分 0
可以Top
6 楼171527461(蜗牛)回复于 2005-06-01 22:30:28 得分 0
我设置这个变量后怎么在调式中它老是说 名称“ColorR”在类或命名空间“Project1.Form1”中不存在
long ColorR,ColorG,ColorBTop
7 楼171527461(蜗牛)回复于 2005-06-01 22:40:22 得分 0
我用for(int i=0;i<bitmap.Size.Width;i++)
{
for(int j=0;j<bitmap.Size.Height;j++)
{
int ColorR= ColorCount[0][bitmap.GetPixel(i,j).R]++;
int ColorG=ColorCount[1][bitmap.GetPixel(i,j).G]++;
int ColorB=ColorCount[2][bitmap.GetPixel(i,j).B]++;
}
}
this.textBox2.Text=ColorR;
//this.textBox3.Text;
//this.textBox4.Text=ColorB;
调试时老是说名称“ColorR”在类或命名空间“Project1.Form1”中不存在
Top
8 楼leonchenjian(小黑)回复于 2005-06-02 00:18:02 得分 0
//如果把变量定义在for循环体内,那么他们的作用域就到for循环结束的大括号为止
//所以一定要定义在循环体外
int ColorR;
int ColorG;
int ColorB;
for(int i=0;i<bitmap.Size.Width;i++)
{
for(int j=0;j<bitmap.Size.Height;j++)
{
ColorR= ColorCount[0][bitmap.GetPixel(i,j).R]++;
ColorG=ColorCount[1][bitmap.GetPixel(i,j).G]++;
ColorB=ColorCount[2][bitmap.GetPixel(i,j).B]++;
}
}
this.textBox2.Text=ColorR.ToString(); // 别忘了要转换成字符串
this.textBox3.Text = ColorG.ToString();
this.textBox4.Text=ColorB.ToString();Top
9 楼171527461(蜗牛)回复于 2005-06-06 12:23:03 得分 0
放在循环体外调试时老是说ColorR,ColorG,ColorB未定义啊这是什么回事???Top
10 楼zhongwanli(㊣【为了老婆,二次重构____然后升★★】㊣)回复于 2005-06-06 12:40:56 得分 0
友情up.....Top
11 楼redflame3000(火焰冰)回复于 2005-08-09 15:30:27 得分 0
好东西!顶一个!!Top




