VC随笔图形设备接口.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VC随笔图形设备接口

VC随笔图形设备接口 常用绘图函数实例: 在2DCAD工程中视图类的OnDraw函数中添加绘图代码 void CMy2DCADView::OnDraw(CDC* pDC) { ?CMy2DCADDoc* pDoc = GetDocument(); ?ASSERT_VALID(pDoc); ?// TODO: add draw code for native data here ?//绘制一个彩色点 ?pDC-TextOut(20, 20, 点); ?pDC-SetPixel(100, 40, RGB(255,0,0)); ?//绘制直线 ?pDC-TextOut(320, 20, 线段); ?pDC-MoveTo(400, 40); ?pDC-LineTo(500, 40); ?//绘制折线 ?pDC-TextOut(20, 170, 折线); ?POINT polyline[4]={{240,240},{80,120},{240,120},{80,240}}; ?pDC-Polyline(polyline,4); ?//绘制矩形 ?pDC-TextOut(320, 170, 矩形); ?pDC-Rectangle(390, 110, 600, 230); ?//绘制椭圆 ?pDC-TextOut(20, 320, 椭圆); ?pDC-Ellipse(80, 260, 280, 380); ?//绘制多边形 ?pDC-TextOut(320, 320, 多边形); ?POINT polygon[3]={{380,330},{530,260},{500,360}}; ?pDC-Polygon(polygon,3); } ? GDI对象的使用步骤: 在视图类的OnDraw函数中 1、创建GDI对象(可以直接构造,或者用Create函数) 2、用CDC::SelectObject函数将GDI对象选入设备环境(DC)中 3、使用完之后,再用CDC::SelectObject函数将GDI对象选落(即选回来),最后释放GDI对象 画笔示例: void CTestPenView::OnDraw(CDC* pDC) { ?CTestPenDoc* pDoc = GetDocument(); ?ASSERT_VALID(pDoc); ?// TODO: add draw code for native data here ?int nPenStyle[]=//用一个数组把7种风格保存起来 ?{ ??PS_SOLID, ??PS_DASH, ??PS_DOT, ??PS_DASHDOT, ??PS_DASHDOTDOT, ??PS_NULL, ??PS_INSIDEFRAME, ?}; ?//不同风格的画笔 ?for(int i=0; i7; i++) ?{ ??//第一步:构造一支蓝色的不同风格的画笔; ??CPen NewPen1(nPenStyle[i], 1, RGB(0,0,255)); ??//也可以使用(COLORREF)0x000000FF来替代RGB宏 ??//第二步:将新画笔选入设备环境中 ??CPen *pOldPen = pDC-SelectObject(NewPen1); ??//开始画线 ??pDC-MoveTo(10, 20*i+10); ??pDC-LineTo(500, 20*i+10); ??//第三步:使用完毕后,将老画笔选回去,这一步不要忘记了! ??pDC-SelectObject(pOldPen); ?} } 画刷示例: void CTestBrushView::OnDraw(CDC* pDC) { ?CTestBrushDoc* pDoc = GetDocument(); ?ASSERT_VALID(pDoc); ?// TODO: add draw code for native data here ?int nBrushPattern[6]=?//阴影线模式画刷的图案索引值 ?{ ??HS_BDIAGONAL,??//右下45度对角线 ??HS_CROSS,???//十字交叉线 ??HS_DIAGCROSS,??//45度十字交叉线 ??HS_FDIAGONAL,??//右上45度对角线 ??HS_HORIZONTAL,??//水平线 ??HS_VERTICAL,??//垂直线 ?}; ?pDC-TextOut(0, 20, 阴影画刷); ?//创建阴影线模式画刷 ?for(int i=0; i6; i++) ?{ ??//第一步:构造新画刷 ??CBrush NewBrush1(nBrushPattern[i],RGB(0,0,255)); ??//第二步:将新画刷选入设备环境中 ??CBrus

文档评论(0)

almm118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档