可视化编程技术4.pptVIP

  • 1
  • 0
  • 约1.96万字
  • 约 78页
  • 2019-07-13 发布于湖北
  • 举报
绘 图 设备文本 CPoint,CSize和CRect 绘图工具 绘图函数 文本处理 位图和位操作 图标和光标 编程范例 设备文本(Device Context) 是当windows程序必须向一个设备演示输出时所需的存储信息的结构。 设备文本提供了一张画布,人们可以在其上绘制点、直线、曲线等一切可见的东西; 设备是指图形既可以在屏幕上显示,还可以在打印机、绘图仪、虚拟现实的头盔上显示; 五个设备环境类 CDC:MFC设备文本的基类,利用它可以访问整个显示设备 CPaintDC:为窗口的OnPaint函数所使用的设备环境类 CClientDC:窗口客户区(不包括边框、标题栏和菜单栏) CWindowsDC:整个应用程序窗口的设备环境 CMetaFileDC:表示Windows图元文件的设备环境类 绘图使用方法 CPoint,CSize和CRect 1、CPoint 封装了标准结构POINT; POINT p; p.x = 10; p.y = 10; pDC-TextOut(p.x, p.y, POINT为一个结构, 成员只有x,y); CPoint q, q1(10,10), q2(0,100); q=q1+q2; pDC-TextOut(q.x, q.y, CPoint为一个类,封装了POINT这个结构, 成员有x,y,Offset,+,); 2、 CSize 封装了标准结构SIZE; SIZE的成员只有cx,cy, 用来定义一个矩形区域的大小(自己练习); 3、CRect 封装了标准结构RECT; RECT的成员只有left ,top, right,bottom,用来定义矩形区域 (自己练习) ; 绘图工具 Windows在设备文本中提供了许多绘图工具,如:CPen, CBrush, CFont和CPalette等,它们的基类是CGdiObject。 默认的画笔是黑色的,宽度是一个像素,默认的画刷是白色的。 颜色由RGB值来指定。 (1) RGB(red, green, blue) (2) 0x 00 FF FF FF B G R 选择库存对象(画笔、画刷) 1、选择库存对象(StockObject)函数原型(见MSDN): virtual CGdiObject *SelectStockObject(int nIndex); 2、例子:在void CTestView::OnDraw中加入代码: pDC-SelectStockObject(LTGRAY_BRUSH); //(1)画圆 pDC-Ellipse(50,50,150,150); pDC-SelectStockObject(BLACK_PEN); //(2)画线 pDC-MoveTo(10,100); pDC-LineTo(550,100); pDC-SelectStockObject(DKGRAY_BRUSH); //(3)椭圆 pDC-Ellipse(200,50,350,150); pDC-SelectStockObject(NULL_BRUSH); //(4)矩形 pDC-Rectangle(400,50,500,150); 自定义画笔-1 1、一步构造法: CPen NewPen(PS_SOLID,5,RGB(0,0,255)); 画笔风格是实线,画笔宽度是5,颜色为蓝色; 2、二步构造法 CPen NewPen; NewPen.CreatePen(PS_SOLID,5,RGB(0,0,255)); 自定义画笔-2 3、将画笔选入设备文本对象 CPen NewPen; //声明画笔对象 CPen *pOldPen; //保存原先画笔指针 NewPen.CreatePen(PS_SOLID,5,RGB(0,0,255)); pOldPen = pDC-SelectObject(NewPen); //将画笔选入设备文本对象 pDC-Ellipse(150,100, 300, 200); pDC-MoveTo(100,200); pDC-LineTo(350,200); pDC-SelectObject(pOldPen); //恢复原先的画笔对象 自定义的画刷 1、画刷决定填充区域的颜色和风格 (1)实心(solid) 风格 CreateSolidBrush(COLORREF crColor) (2)网格(hatched)风格 CreateHatchBrush(int nIndex, COLORREF crColor) (3)模式(patt

文档评论(0)

1亿VIP精品文档

相关文档