(特别申明:1、如若转载请标明出处http://blog.csdn.net/gufengcangying。
2、 如若雷同,算我抄你!)
在文章(一)的基础上添加按钮控件:
其属性设置为:(以下代码是在Form.Designer.cs中)
//
// pixel
//
this.pixel.Location = new System.Drawing.Point(37, 200);
this.pixel.Name = "pixel";
this.pixel.Size = new System.Drawing.Size(75, 23);
this.pixel.TabIndex = 3;
this.pixel.Text = "提取像素法";
this.pixel.UseVisualStyleBackColor = true;
this.pixel.Click += new System.EventHandler(this.pixel_Click);
点击控件提取像素法:
添加程序如下——
/// <summary>
/// 提取像素法
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void pixel_Click(object sender, EventArgs e)
{
if(curBitmap!=null)
{
Color curColor;
int ret;
//二维图像数组循环
for (int i = 0; i < curBitmap.Width;i++ )
{
for (int j = 0; j < curBitmap.Height;j++ )
{
//获取该点像素的RGB值;
curColor = curBitmap.GetPixel(i,j);
//计算灰度值;
ret=(int)(curColor.R*0.299+curColor.G*0.587+curColor.B*0.114);
//设置该点的灰度值,令R=G=B=ret;
curBitmap.SetPixel(i,j,Color.FromArgb(ret,ret,ret));
}
}
//对窗体重新绘制,并强制执行Paint事件处理程序;
Invalidate();
}
}
保存并运行,其运行结果如下图所示: