在Visu al C#下实现图像的透明处理 以前编程实现图像的透明处理是比较困难的,代码量多,工作又复杂。不过,现在随着微软VS.Net 开发工具的逐渐普及,伴随而来的新兴开发语言C#以及GDI+等新的编程机制正为广大开发人员所接受。本文就向大家介绍在Visual C#中,如何运用GDI+中Alpha Blending 技术实现图像的透明处理。 在各类有关.Net 的技术论坛上常有人问如何实现透明的图像或图形效果,答案很简单,就是Alpha Blending 技术。Alpha Blending 技术是一个混合各种颜色值并产生透明效果的过程。具体的实现原理也很简单:在GDI+中,任何一种颜色由四种成分组成――Alpha,Red,Green 和 Blue。其中的Alpha 成分则代表了一种颜色的透明程度,它的值在0 到 255 之间变化。不言而喻,0 代表完全透明而255 则表示完全不透明。因此,你只要用透明效果创建一种颜色并用该颜色来画图像就可以完成图像的透明处理了。 原理虽然比较简单,但是要初学者实际操作起来可能也并不是那么容易。所以下面我就向大家展示一个很好的实例。在该实例中,我先在窗体上画了一些图形,这些图形包括直线、曲线、椭圆等,同时这些图形有的是不透明的、有的是半透明的、有的是强透明的(注:其中的"强透明"意思为非常透明,几乎为全透明,但是又隐约可见)。如果你有GDI+编程的一些基本知识,完成这些应该并不困难。然后,我在这些图形上覆盖了一幅图像,在正常情况(也就是不透明的情况)下,窗体上的图形为图像所遮盖,所以应该是看不见的。接着,我通过一个按钮的消息响应函数使得图像具有透明效果,这样一来的话,窗体上原来的那些图形就会浮现出来。 实现方法 首先,打开VS.net,新建一个Visual C#的项目,选择模板为"Window s 应用程序",同时不妨命名为"TransparentImage",图示如下: 图1 接着,进行窗体布局。往窗体上添加三个按钮以完成用户输入控制。将窗体的Text属性设置为"图像的透明处理示例";将三个按钮的Text 属性分别设置为"半透明"、"强透明"、"不透明";同时,为界面美观起见将三个按钮的FlatStyle 属性均设置为Flat。最终,窗体布局的图示如下: 图2 完成了窗体布局,我们接着开始编写代码。首先,我们添加窗体的Paint 消息响应函数。读者可以发现,我们在进行窗体布局的时候并没有在窗体上添加pictureBox控件,那么我们怎么显示图像并画出各种图形呢?这就要用到窗体的Paint 消息响应函数了,函数实现如下: private...