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 |

本文详细介绍了Delphi中的图形设计,包括Canvas画布对象的Pen、Brush、Pixels和PenPos属性,以及绘图方法如直线、矩形、椭圆和字符串的显示。还讲解了窗口绘图事件,如OnPaint事件和Repaint方法的使用,以及如何响应鼠标事件进行动态绘图。
&spm=1001.2101.3001.5002&articleId=8771940&d=1&t=3&u=a42fdb08a12d47189e2585d49bfdb36d)
1679

被折叠的 条评论
为什么被折叠?



