GDI+提供了SolidBrush(实色刷)、HatchBrush(阴影刷)、TextureBrush(纹理刷)、LinearGradientBrush(渐变刷)和PathGradientBrush(路径刷)等五种画刷,在GDI+的C语言版本中,这些画刷的方法都以在原C++类类名为前缀,其中的LinearGradientBrush和PathGradientBrush分别简化为LineBrush和PathBrush。
GDI+的画刷是GDI+绘制图形的基础,GDI+画笔也是依靠GDI+画刷形成的,熟练地运用GDI+画刷,可以使各种图像更加多姿多彩,也可以用它们来绘制Windows应用程序的各种控件的界面,MS的Office2003及以后的版本的Office程序界面都是使用GDI+绘制界面的典型例子。
下面是一个用C语言改写的GDI+画刷的经典例子代码:
例子代码使用的窗口框架代码和GDI+ C语言版本下载地址见《在C语言Windows应用程序中使用GDI+》。
由于例子代码中作了详细的注释,而且这也是个GDI+经典例子,所以就不在此啰嗦了。
顺便说一下,原GDI+ C++版本的Color类型在C版本中取消,需要用到颜色的地方直接使用ARGB类型,原Color类的一些方法还是保留了。
下面是用VC2005编译运行例子的界面截图:
GDI+初学者要想熟练的掌握GDI+画刷,仅靠这个例子是远远不够的,必须多看看GDI+资料,多参考C++、C#等语言中运用GDI+的代码。关于GDI+画刷,我有几篇文章作了专门介绍,里面有更多使用画刷的例子,虽然是Delphi或者BCB写的,但原理是一样的,可供初学者参考:
《GDI+ for VCL基础 -- 画刷之SolidBrush》,《GDI+ for VCL基础 -- 画刷之HatchBrush》,《GDI+ for VCL基础 -- 画刷之TextureBrush》,《GDI+ for VCL基础 -- 画刷之LinearGradientBrush》,《GDI+ for VCL基础 -- 画刷之PathGradientBrush》。
指导和建议请来信:mao.maozefa@gmail.com,maozefa@hotmail.com