2024年4月3日发(作者:)

CDC类的主要绘图成员函数

CDC类中常用绘图函数

1)绘制像素函数

原型:COLORREF SetPixel(int x,int y,COLORREF crColor );

设置某像素点的RGB值

2)获取像素颜色函数

原型:COLORREF GetPixel(int x,int y)const;

返回值:指定像素的RGB值。

参数说明:得到指定像素的RGB颜色值

一、画笔函数

画笔是用来绘制直线、曲线或图形的边界线,是绘图工具类之一

画笔通常具有线型、宽度和颜色三种属性

画笔的线型通常有实线、虚线、点线、点划线、双点划线、不可见线和内框架线7种,这些线型都是以PS_

为前缀的预

定义标识符

默认的画笔是一个像素单位的黑色实线

要想更换画笔,可以在创建新画笔对象后,将其选入设备上下文,就可使用新画笔进行绘图。

1)创建画笔函数

原型:BOOL CreatePen(int nPenStyle,int nWidth,COLORREF crColor);

返回值:非零。

参数说明:

第一个参数nPenStyle是画笔的风格代码

第二个参数nWidth是画笔的宽度

第三个参数crColor是画笔的颜色。

PS_SOLID;实线;宽度任意指定

PS_DASH;虚线;宽度1(不可任意指定)

PS_DOT;点线;宽度1(不可任意指定)

PS_DASHDOT;点划线;宽度1(不可任意指定)

PS_DASHDOTDOT;双点画线;宽度1(不可任意指定)

PS_NULL;不可见线;宽度1(不可任意指定)

PS_INSIDEFRAME;内框架线;宽度任意指定

2)选择画笔函数

原型:Cpen *SelectObject(Cpen *pPen);

返回值:被替代画笔的指针。

参数说明:参数pPen是Cpen类的被选中的新画笔对象指针。本函数把原画笔换成新画笔,同时返回指向

原画笔的指针。

3)删除画笔函数

原型:BOOL DeleteObject( );

返回值:非零。

参数说明:画笔使用完毕,把已成自由状态的画笔从系统内存中清除。

4)选择一支库画笔函数

原型:

virtual CGdiObject *SelectStockObject(int nIndex);

返回值:被替代的CGdiObject类对象的指针。

参数说明:参数nIndex是库笔代码

Windows系统中准备了一些使用频率较高的画笔,不需要创建,可以直接选用。同样,使用完库画笔时也

不需要调用

DeleteObject()函数从内存中删除已使用过的画笔。

三种常用库笔:BLACK_PEN宽度为1的黑笔实线笔;WHITE_PEN宽度为1的白笔实线笔;NULL_PEN透明笔

二、画刷函数(图形内部进行填充)

1)创建实体画刷函数

BOOL CreateSolidBrush(COLORREF crColor );

选择画刷函数

2)CBrush *SelectObject(CBrush *pBrush );

删除画刷函数

3)BOOL DeleteObject( );

创建阴影画刷函数

4)BOOL CreateHatchBrush(int nIndex,COLORREF crColor);