10.2 图 形 设 计
Windows是一个基于图形用户界面的操作系统。
若要在窗口上作图,需要调用Windows 提供的应用程序接口(Application Program Interface,API),还要申请和维护句柄等资源。
Delphi将这一切都封装在TCanvas类中,通过设置TCanvas类中的属性,调用其中的方法,就可以实现画图功能。
10.2.1 Canvas画布对象
虽然在任何组件上都可以绘制图形,但由于很多组件上都有标题之类的文字,所以通常在窗体或面板之类的容器上绘制图形。
例如,最常用的画图容器为Form和PaintBox。这些容器的空白区域称为画布(Canvas),使用画布类TCanvas的方法可在画布上绘制直线、弧线、矩形或圆形等各种图形。
Canvas是TCanvas类的一个系统定义对象,称为画布对象,通常作为其他控件的一个属性出现,不单独使用。每个控件都有Canvas属性。例如,使用Form的Canvas属性即可在窗体的工作区内绘图。由于Canvas是运行时属性,在程序运行时才能获得,所以必须写程序来完成设置。
Canvas的主要属性有Pen、Brush、Pixels、PenPos等,用于定义绘制图形的风格。
1.Pen画笔
Pen画笔用于控制线条的颜色、模式、风格及宽度。
Pen的类型为TPen类,属性有Color、Mode、Style及Width。
· Color属性:控制线条的颜色。
· Mode属性:控制线条的模式,取值见表10-2。
表10-2 Canvas.Pen.Mode属性取值
值 |
含 义 |
pmBlack |
总为黑色 |
pmWhite |
总为白色 |
pmNop |
不改变 |
pmNot |
画布背景的相反色 |
pmCopy |
用Color属性指定的画笔颜色 |
pmNotCopy |
画笔颜色的相反色 |
pmMerge |
画笔颜色与画布背景色 |