VC图形编程:GDI函数与鼠标绘图

4星 · 超过85%的资源 需积分: 10 2 下载量 14 浏览量 更新于2024-07-31 收藏 530KB PPT 举报
"计算机图形学 V从图形编程" 在计算机图形学中,VC++图形编程主要涉及使用Windows图形设备接口(GDI)来绘制图形。GDI提供了一系列函数,允许程序员控制图形的颜色、线条样式等属性,实现了设备无关性的图形绘制。在VC++中,图形编程通常基于MFC(Microsoft Foundation Classes)库,尤其是CDC(Device Context)类,它是设备环境的基础。 首先,颜色的表示使用32位的COLORREF类型,结构为0x00bbggrr,其中bb代表蓝色,gg代表绿色,rr代表红色,每个部分的取值范围为00到FF(十进制0到255)。RGB宏可以方便地创建这种颜色值,例如RGB(0,0,255)表示蓝色。 在代码示例中,`OnDraw`函数展示了如何使用`SetPixel`方法绘制点。通过循环和不同的颜色值,程序在屏幕上绘制了一系列的点,形成不同颜色的横线。 接下来,代码展示了如何使用鼠标事件进行绘图。在`OnLButtonDown`函数中,当用户点击鼠标左键,程序记录起点并等待输入终点。第二次点击时,程序会绘制一条直线并重置状态。`DrawLine`函数用于实际的直线绘制,`MoveTo`和`LineTo`方法分别设定起始和结束点。 在`OnMouseMove`函数中,通过改变绘图模式(R2_NOT)实现了橡皮筋效果,即随着鼠标移动实时显示线段,直至松开鼠标按钮。这提供了用户在绘制前预览线段的能力。 GDI对象类如CBitmap、CBrush、CFont、CPen、CRgn和CPalette是图形编程的重要组成部分。例如,CPen用于画线,可以通过指定样式(实线、虚线等)、宽度和颜色来创建;CBrush则用于填充颜色,可以设定不同的阴影线风格。代码中展示了如何创建和使用这些对象实例来绘制不同颜色和样式的线和填充矩形。 此外,CFont类用于定义字体属性,可以设置字体样式、大小等,以在图形中添加文本。`Fillrectangle`函数演示了如何使用`SetPixel`填充矩形区域,而`OnLButtonDown`函数则展示了如何响应鼠标点击并在特定区域内填充颜色。 计算机图形学中的VC++图形编程涉及到GDI的使用,通过设备环境DC和相关类来控制图形绘制,实现丰富的视觉效果。程序员可以利用这些工具创建复杂的图形用户界面和交互式应用。