简单画图软件的讲义精选.pptVIP

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

4、添加代码,绘制直线 5)在鼠标左键抬起时,设置终止坐标 void CPaintView::OnLButtonUp(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default x2 = point.x ; y2 = point.y ; flag =false; Invalidate(false); //调用OnDraw()函数 CView::OnLButtonUp(nFlags, point); } 手动添加的代码 4、添加代码,绘制直线 6)在鼠标移动过程中,绘制直线 void CPaintView::OnMouseMove(UINT nFlags, CPoint point) { // TODO: Add your message handler code hereand/or call default if(flag) { x2 = point.x ; y2 = point.y ; Invalidate(); } CView::OnMouseMove(nFlags, point); } 4、添加代码,绘制直线 7) 在OnDraw()函数中添加直线 void CPaintView::OnDraw(CDC* pDC) { CPaintDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: add draw code for native data here if((type==1) (flag==1)) { pDC-MoveTo(x1,y1); pDC-LineTo(x2,y2); } } 手动添加的代码 5、测试 3、CDC相关类的使用 三. 绘图类CWindowDC类简介 CDC的派生类, 用于窗口客户区和非客户区的绘制,非客户区包括窗口边框、标题栏、菜单按钮等。 3、CDC相关类的使用 总之,CDC类中包含了与图形绘制有关的大部分操作,CDC类实际上是把普通C语言与绘图有关的函数通过类封装到一起。 3、CDC相关类的使用 起辅助作用的图形库函数: CGdiObject(基类) CBitmap 位图类 CBrush 绘图方式类 CFont 字体/字型类 CPalette 调色板类 CPen 绘图工具类 CRgn 绘图区域类 称这些类为绘图对象类。绘图类可被选取完成图形的操作(相当于工具)。 3、CDC相关类的使用 当CView类对象需要在视图中,对显示器进行输出、绘制任何图形和文字时,除了要向CDC类对象发出消息外,还有可能将所需要的CGdiObject的派生类对象以消息参数的形式也一同提交给CDC类对象。 3、CDC相关类: CPen类 CPen类模拟画笔图形设备界面。 (1)建立CPen 对象方法: ①定义—个CPen对象,用其成员函数CreatePen或CreatePenIndirect对其进行初始化。 CPen pen; pen.CreatePen(PS_SOLID,1,RGB(255,0,0)); ②构造函数建立—个Cpen对象,并一次性地定义它的所有参数。 CPen pen(PS_SOLID,1,RGB(255,0,0)); ③用指针对象的形式动态创造一个画笔。 CPen *pen; pen = new CPen(PS_SOLID,1, RGB(255,0,0)); delete pen; 3、CDC相关类: CPen类 不论是采用哪一种方法,都是用三个参数来初始化画笔,这三个参数是线型(nPenStyle),线宽(nWidth)和颜色(COLORREF crColor)。 参数nPenStyle设置画笔画线的线型; 参数nWidth设置以逻辑单位表示的线宽; 参数crColor设置画笔的颜色,利用RGB宏指定颜色非常简单: COLORREF RGB(cRed,cGreen,cBlue); 参数cRed、cGreen、cBlue分别指定红、绿、蓝三色的相对亮度,每个参数均赋予0到255之间的值。 例如: (2)在绘图对象中选入画笔 void CDrawView::OnDraw(CDC *pDC) { //定义并初始化一个画笔实例 CPen pen(PS_SOLID, 1, RGB(255, 0

文档评论(0)

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

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

1亿VIP精品文档

相关文档