本博文由CSDN博主zuishikonghuan所作,版权归zuishikonghuan所有,转载请注明出处:
http://blog.csdn.net/zuishikonghuan/article/details/47271829
在上一篇中,我们说到了通过GdipCreateFromHDC函数将HDC(设备上下文句柄)装换成GDI+的Graphics对象,并讲到了画笔的使用,这一篇就来讲讲画刷。
画刷和画笔差不多,就是画刷是画的实心的图形、
其实画刷有很多种,这里只介绍最常用的两种,分别是单色画刷和线性渐变画刷
还是和以前一样,我们必须自己声明GDI+Flat函数,自己定义GDI+Flat的数据结构。自己动手,丰衣足食。~~
对于画刷的创建和销毁,其实是GDI+调用的GDI+Flat的这几个函数:GdipCreateSolidFill、GdipCreateLineBrush和GdipDeleteBrush
我们把这两个函数自己声明出来!不用那些GDI+类的东西!只用C和Win32的最基本的数据类型!
//画刷
typedef struct _PointF{
float x;
float y;
}PointF;
extern "C" int WINAPI GdipCreateSolidFill(unsigned int argb_color,int** brush);
extern "C" int WINAPI GdipCreateLineBrush(PointF* point1, PointF* point2, unsigned int argb_color1,unsigned int argb_color2,int wrapMode,int** lineGradient);
extern "C" int WINAPI GdipDeleteBrush(int* brush);
GdipCreateSolidFill:创建单色画刷
参数1:画刷的ARGB颜色
参数2:指向一个画刷的指针,用于接收返回的画刷,画刷是int*
GdipCreateLineBrush:创建线性渐变画刷
参数1:起点坐标,是我上面定义的PointF结构,PointF结构中:x为横坐标,y为纵坐标
参数2:终点坐标,是我上面定义的PointF结构,PointF结构中:x为横坐标,y为纵坐标
参数3&#