首页 VS2010MFC编程入门之四十九(图形图像——CDC类及其屏幕

VS2010MFC编程入门之四十九(图形图像——CDC类及其屏幕

举报
开通vip

VS2010MFC编程入门之四十九(图形图像——CDC类及其屏幕HYPERLINK"http://www.jizhuomi.com/software/244.html"\t"_blank"VS2010/MFC编程入门之四十九(图形图像:CDC类及其屏幕绘图函数)上一节中鸡啄米讲了HYPERLINK"http://www.jizhuomi.com/software/241.html"\t"_blank"文本输出的知识,本节的主要内容是CDC类及其屏幕绘图函数。CDC类简介CDC类是一个设备上下文类。CDC类提供了用来处理HYPERLINK"http://cpro.b...

VS2010MFC编程入门之四十九(图形图像——CDC类及其屏幕
HYPERLINK"http://www.jizhuomi.com/software/244.html"\t"_blank"VS2010/MFC编程入门之四十九(图形图像:CDC类及其屏幕绘图函数)上一节中鸡啄米讲了HYPERLINK"http://www.jizhuomi.com/software/241.html"\t"_blank"文本输出的知识,本节的主要 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 是CDC类及其屏幕绘图函数。CDC类简介CDC类是一个设备上下文类。CDC类提供了用来处理HYPERLINK"http://cpro.baidu.com/cpro/ui/uijs.php?rs=1&u=http%3A%2F%2Fwww%2Ejizhuomi%2Ecom%2Fsoftware%2F244%2Ehtml&p=baidu&c=news&n=10&t=tpclicked3_hc&q=42021098_cpr&k=%CF%D4%CA%BE%C6%F7&k0=%CF%D4%CA%BE%C6%F7&k1=cdc&k2=%C9%E8%B1%B8&k3=%B1%E0%B3%CC%C8%EB%C3%C5&k4=%B1%E0%B3%CC&k5=%B5%F7%C9%AB%B0%E5&sid=8cbae1e7264a7f9&ch=0&tu=u1834317&jk=24657ebf7debe1e4&cf=29&fv=11&stid=9&urlid=0&luki=7&seller_id=1&di=128"\t"_blank"显示器或HYPERLINK"http://cpro.baidu.com/cpro/ui/uijs.php?rs=1&u=http%3A%2F%2Fwww%2Ejizhuomi%2Ecom%2Fsoftware%2F244%2Ehtml&p=baidu&c=news&n=10&t=tpclicked3_hc&q=42021098_cpr&k=%B4%F2%D3%A1%BB%FA&k0=%B4%F2%D3%A1%BB%FA&k1=%CE%EF%C0%ED&k2=windows&k3=%CF%D4%CA%BE%C6%F7&k4=cdc&k5=%C9%E8%B1%B8&sid=8cbae1e7264a7f9&ch=0&tu=u1834317&jk=24657ebf7debe1e4&cf=29&fv=11&stid=9&urlid=0&luki=4&seller_id=1&di=128"\t"_blank"打印机等设备上下文的成员函数,还有处理与窗口客户区关联的显示上下文的成员函数。使用CDC的成员函数可以进行所有的绘图操作,包括处理绘图工具、GDI对象的选择、颜色和HYPERLINK"http://cpro.baidu.com/cpro/ui/uijs.php?rs=1&u=http%3A%2F%2Fwww%2Ejizhuomi%2Ecom%2Fsoftware%2F244%2Ehtml&p=baidu&c=news&n=10&t=tpclicked3_hc&q=42021098_cpr&k=%B5%F7%C9%AB%B0%E5&k0=%B5%F7%C9%AB%B0%E5&k1=%B4%F2%D3%A1%BB%FA&k2=%CE%EF%C0%ED&k3=windows&k4=%CF%D4%CA%BE%C6%F7&k5=cdc&sid=8cbae1e7264a7f9&ch=0&tu=u1834317&jk=24657ebf7debe1e4&cf=29&fv=11&stid=9&urlid=0&luki=3&seller_id=1&di=128"\t"_blank"调色板的处理、获取和设置绘图属性、映射、窗口范围、坐标转换、剪切以及绘制直线、简单图形、椭圆和多边形等,另外它还为文本输出、处理字体、使用打印机跳转和滚动等提供了成员函数。如上所述,CDC类几乎封装了所有的WindowsGDI函数,另外,HYPERLINK"http://www.jizhuomi.com/catalog.asp?tags=MFC"\t"_blank"MFC中还有几个由CDC类派生的子类,包括CWindowDC、CPaintDC、CClientDC、CMetaFileDC,它们用来进行一些特定的绘图操作。一般我们在使用完CDC对象后要记得删除它,否则会有内存泄露。很多情况下我们可以调用CWnd::GetDC()函数来获取HYPERLINK"http://cpro.baidu.com/cpro/ui/uijs.php?rs=1&u=http%3A%2F%2Fwww%2Ejizhuomi%2Ecom%2Fsoftware%2F244%2Ehtml&p=baidu&c=news&n=10&t=tpclicked3_hc&q=42021098_cpr&k=%C9%E8%B1%B8&k0=%C9%E8%B1%B8&k1=%B1%E0%B3%CC%C8%EB%C3%C5&k2=%B1%E0%B3%CC&k3=%B5%F7%C9%AB%B0%E5&k4=%B4%F2%D3%A1%BB%FA&k5=%CE%EF%C0%ED&sid=8cbae1e7264a7f9&ch=0&tu=u1834317&jk=24657ebf7debe1e4&cf=29&fv=11&stid=9&urlid=0&luki=9&seller_id=1&di=128"\t"_blank"设备上下文指针,即CDC指针,这个时候记得用完后调用CWnd::ReleaseDC()函数释放设备上下文。CDC类的屏幕绘图成员函数CDC类有很多成员函数,鸡啄米在这里只大概讲下比较常用的绘图函数,包括绘制点、直线、矩形、椭圆、多边形、文本以及位图等的成员函数。COLORREFSetPixel(intx,inty,COLORREFcrColor);COLORREFSetPixel(POINTpoint,COLORREFcrColor);上面两个成员函数用来将指定坐标点的像素设置为指定的颜色,这样就实现了画点功能。参数x为点的逻辑x坐标;参数y为点的逻辑y坐标;参数crColor为要为点设置的颜色;参数point指定点的逻辑x坐标和逻辑y坐标,可以为其传入POINT结构体变量或者CPoint对象。CPointMoveTo(intx,inty);CPointMoveTo(POINTpoint);将当前点移动到指定位置。参数x指定新位置的逻辑x坐标;参数y指定新位置的逻辑y坐标;参数point指定新位置的逻辑x坐标和逻辑y坐标,可以为其传入POINT结构体变量或者CPoint对象。BOOLLineTo(intx,inty);BOOLLineTo(POINTpoint);绘制一条从当前点到指定点(不包括指定点)的直线。参数x为指定点的逻辑x坐标;参数y为指定点的逻辑y坐标;参数point为指定点的逻辑x坐标和逻辑y坐标。一般我们绘制直线时就可以先调用MoveTo函数移动当前点到某个位置,然后调用LineTo画直线。BOOLRectangle(intx1,inty1,intx2,inty2);BOOLRectangle(LPCRECTlpRect);使用当前画笔绘制矩形。参数x1指定矩形左上角的x坐标;参数y1指定矩形左上角的y坐标;参数x2指定矩形右下角的x坐标;参数y2指定矩形右下角的y坐标;以上坐标均为逻辑单位。参数lpRect为矩形对象的指针,可以为其传入CRect对象或RECT结构体变量的指针。BOOLEllipse(intx1,inty1,intx2,inty2);BOOLEllipse(LPCRECTlpRect);绘制椭圆。参数x1指定椭圆的包围矩形左上角的x坐标;参数y1指定椭圆的包围矩形左上角的y坐标;参数x2指定椭圆的包围矩形右下角的x坐标;参数y2指定椭圆的包围矩形右下角的y坐标;以上坐标均为逻辑单位。参数lpRect指定椭圆的包围矩形,可以传入CRect对象或RECT结构体变量的指针。BOOLPolyline(LPPOINTlpPoints,intnCount);由指定的多边形顶点绘制多边形。参数lpPoints为指向一个POINT结构体变量数组或CPoint对象数组的指针,其中的POINT结构体变量或CPoint对象代 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 了多边形顶点的坐标;参数nCount为数组中点的个数,至少为2。virtualBOOLTextOut(intx,inty,LPCTSTRlpszString,intnCount);BOOLTextOut(intx,inty,constCString&str);使用当前选择的字体在指定位置输出文本。参数x指定文本起始点的x坐标;参数y指定文本起始点的y坐标;参数lpszString为要输出的文本字符串;参数nCount指定字符串中的字节个数;参数str为包含要输出的字符的CString对象。这两个函数在上一节中其实已经讲到了。BOOLBitBlt(intx,inty,intnWidth,intnHeight,CDC*pSrcDC,intxSrc,intySrc,DWORDdwRop );从源HYPERLINK"http://cpro.baidu.com/cpro/ui/uijs.php?rs=1&u=http%3A%2F%2Fwww%2Ejizhuomi%2Ecom%2Fsoftware%2F244%2Ehtml&p=baidu&c=news&n=10&t=tpclicked3_hc&q=42021098_cpr&k=%C9%E8%B1%B8&k0=%C9%E8%B1%B8&k1=%B1%E0%B3%CC%C8%EB%C3%C5&k2=%B1%E0%B3%CC&k3=%B5%F7%C9%AB%B0%E5&k4=%B4%F2%D3%A1%BB%FA&k5=%CE%EF%C0%ED&sid=8cbae1e7264a7f9&ch=0&tu=u1834317&jk=24657ebf7debe1e4&cf=29&fv=11&stid=9&urlid=0&luki=9&seller_id=1&di=128"\t"_blank"设备上下文拷贝一幅位图到当前设备上下文。参数x指定目标矩形区域左上角的逻辑x坐标;参数y指定目标矩形区域左上角的逻辑y坐标;参数nWidth指定目标矩形区域和源位图的宽度(逻辑单位);参数nHeight指定目标矩形区域和源位图的高度(逻辑单位);参数pSrcDC为指向源设备上下文的CDC对象的指针,如果dwRop指定了一个不包含源的光栅操作,那么pSrcDC可以为NULL;参数xSrc指定源位图左上角的逻辑x坐标;参数ySrc指定源位图左上角的逻辑y坐标;参数dwRop指定要执行的光栅操作,光栅操作码定义了GDI如何将当前画刷颜色、源位图颜色和目标位图颜色组合形成新的颜色,下面是一些常用的光栅操作码及含义:BLACKNESS:表示使用与HYPERLINK"http://cpro.baidu.com/cpro/ui/uijs.php?rs=1&u=http%3A%2F%2Fwww%2Ejizhuomi%2Ecom%2Fsoftware%2F244%2Ehtml&p=baidu&c=news&n=10&t=tpclicked3_hc&q=42021098_cpr&k=%CE%EF%C0%ED&k0=%CE%EF%C0%ED&k1=windows&k2=%CF%D4%CA%BE%C6%F7&k3=cdc&k4=%C9%E8%B1%B8&k5=%B1%E0%B3%CC%C8%EB%C3%C5&sid=8cbae1e7264a7f9&ch=0&tu=u1834317&jk=24657ebf7debe1e4&cf=29&fv=11&stid=9&urlid=0&luki=5&seller_id=1&di=128"\t"_blank"物理调色板的索引0相关的色彩来填充目标矩形区域,(对缺省的物理调色板而言,该颜色为黑色)。 DSTINVERT:表示使目标矩形区域颜色取反。 MERGECOPY:表示使用布尔型的AND(与)操作符将源矩形区域的颜色与特定模式组合一起。 MERGEPAINT:通过使用布尔型的OR(或)操作符将反向的源矩形区域的颜色与目标矩形区域的颜色合并。 NOTSRCCOPY:将源矩形区域颜色取反,于拷贝到目标矩形区域。 NOTSRCERASE:使用布尔类型的OR(或)操作符组合源和目标矩形区域的颜色值,然后将合成的颜色取反。 PATCOPY:将特定的模式拷贝到目标位图上。 PATPAINT:通过使用布尔OR(或)操作符将源矩形区域取反后的颜色值与特定模式的颜色合并。然后使用OR(或)操作符将该操作的结果与目标矩形区域内的颜色合并。PATINVERT:通过使用XOR(异或)操作符将源和目标矩形区域内的颜色合并。 SRCAND:通过使用AND(与)操作符来将源和目标矩形区域内的颜色合并。 SRCCOPY:将源矩形区域直接拷贝到目标矩形区域。 SRCERASE:通过使用AND(与)操作符将目标矩形区域颜色取反后与源矩形区域的颜色值合并。 SRCINVERT:通过使用布尔型的XOR(异或)操作符将源和目标矩形区域的颜色合并。 SRCPAINT:通过使用布尔型的OR(或)操作符将源和目标矩形区域的颜色合并。 WHITENESS:使用与HYPERLINK"http://cpro.baidu.com/cpro/ui/uijs.php?rs=1&u=http%3A%2F%2Fwww%2Ejizhuomi%2Ecom%2Fsoftware%2F244%2Ehtml&p=baidu&c=news&n=10&t=tpclicked3_hc&q=42021098_cpr&k=%CE%EF%C0%ED&k0=%CE%EF%C0%ED&k1=windows&k2=%CF%D4%CA%BE%C6%F7&k3=cdc&k4=%C9%E8%B1%B8&k5=%B1%E0%B3%CC%C8%EB%C3%C5&sid=8cbae1e7264a7f9&ch=0&tu=u1834317&jk=24657ebf7debe1e4&cf=29&fv=11&stid=9&urlid=0&luki=5&seller_id=1&di=128"\t"_blank"物理调色板中索引1有关的颜色填充目标矩形区域。(对于缺省物理调色板来说,这个颜色就是白色)。好了,本节就讲到这里了,主要就是大概讲了讲CDC类,又介绍了CDC类一些常用的绘图函数。如果想了解更多的资料可以查阅MSDN。谢谢关注鸡啄米的HYPERLINK"http://www.jizhuomi.com/catalog.asp?tags=VS2010"\t"_blank"VS2010/MFC教程。
本文档为【VS2010MFC编程入门之四十九(图形图像——CDC类及其屏幕】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
中式烹调师
暂无简介~
格式:doc
大小:28KB
软件:Word
页数:3
分类:互联网
上传时间:2022-05-27
浏览量:0