1、注意:有WinForm基础的,可以直接到第5步或第7步。首先,打开Visual Studio,创建C#语言下的Windows窗体应用程序。(即使用经典的WinForm框架)
2、左边工具箱(若没有需调出)拖动label标签,pictureBox图片框,button按钮这些控件到设计窗口。
3、在右侧属性窗体中修改这些控件的名称Name(控件对象编程时的名称),Text属性(显示内容)。pictureBox还可修改下BorderStyle使得边框可见。
4、双击“读取文件”按钮(buttonRead),在代码中自动添加了buttonRead_Click事件处理函数。在其中编写代码如图:1.打开文件名获取窗口,提示用户选择一个文件;2.然后获取文件名;3.读取图片,设置到图片框。
5、接下来双击“显示变换结果”(buttonResult)按钮,同样在对应事件函数中,编写代码:1.把图片复制到新的Bitmap对象2.空出Bitmap对象处理代码3.把处理后的Bitmap对象设置到结果图片框
6、现在运行程序,点击左侧按钮选择文件,点击右侧显示结果,如图说明程序框架OK。接下来可以解决Bitmap的处理代码了。
7、Bitmap处理代码部分编写:在二重for循环中,1.使用getPixel(x坐标,y坐标)获取到每个像素的Color,保存到变量col。2.<根据col计算变换后颜色colSet>3.使用setPixel(x坐标,y坐标,Color对象)设置回Bitmap.注意:第2部分颜色变换代码是可根据需要修改
8、根据上面颜色变换代码(灰度计算以及灰度颜色设置),得到的执行结果如图。
9、同理,下图的颜色变换代码(灰度计算然后if-else分段设置颜色),执行结果如图。
10、下面的颜色变换代码(计算反色),执行结果如图。可见颜色变换代码是非常灵活的,我们可以修改这一部分/增加多种选择,来实现丰富的图像处理效果。