接形成一个区域,并用当前笔刷填充此区域。
Polyline Polyline(Ports : array of TPort);
Polyline方法在画布上用当前画笔绘制一系列的点,各点依次连成线。
StretchDraw StretchDraw(Const Rect : TRcct : Graphic : TGraphic);
此方法在Rect参数指定的矩形内画一图像。图像延伸改变大小以适应矩形。
Rectangle Rectangle(X1,y1,x2,y2 : Integer);
Rectangle方法在画布上用当前画刷绘制矩形,(x1,y1)是矩形的左上角,(x2,y2)是矩形的右下角。
RomlRect RomlRect((x1,y1,x2,y2,x3,y3, : Integer);
DrawFocuseRect
DrawFocusRect(Const Rect : TRect)
此方法绘制一矩形以指示此矩形获得焦点。此方法是异或(XOR)函数,第二次调用时原有矩形将消失。DrawFocuseRect绘制的矩形不能滚动。要实现滚动功能则先调用此方法使矩形消失,待滚动过后重新绘制。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
5.1.2 Tpen Object(画笔对象)
应用程序
常用TPen对象在画布上绘制各种线段,笔的颜色在Color属性中定义。线段宽度在Width属性中定义。
Style属性定义了线段的各种类型,如表5.2:
表5.2 Styled的取值及含义
━━━━━━━━━━━━━━━━━━━━━━
Style
含义
──────────────────────
PSolod 画固定线段
PSDash 画由下划线组成的线段
PSDot 画由点组成的线段
PsDashDot 画点划线
PsClear 画双点划线
PsClear 画看不见的线段
PsInsideFrame 画边界的矩形线框
━━━━━━━━━━━━━━━━━━━━━━━
Mode属性定义线段的颜色。可结合当前的颜色、屏幕颜色或它们反转值,对线段的颜色重新定义,但不改变Color属性。详见表5.3。
表5.3 Mode的取值及含义
━━━━━━━━
━━━━━━━━━━━━━━━━━━━
Mode 象素颜色
──────────────────────────
PmBlack 黑色
PmWhite 白色
PmNop 不变
PmCopy 使用Color属性中的颜色
PmNotCopy 笔颜色的反转值
PmMergePenNot 笔的颜色与屏幕颜色反转值的结合
PmNaskNotPen 屏幕颜色与笔颜色
PmMergeNotPen 屏幕颜色与笔颜色反转值的结合
━━━━━━━━━━━━━━━━━━━━━━━━━━━
5.1.3 TBrush OBject(画刷对象)
画刷对象用以填充图形,如用画刷颜色或图案对矩形或椭圆进行填充。TBrush拥有一个画刷句柄(HBrush)。
画刷的颜色定义在Color属性中。画刷还有一个Bitmap属性,该属性只能在运行时得到,画刷可使用位图填充图形以产生特殊效果。位图大小为8个象素点,高8个象素点宽。
Style属性定义了画刷填充图形的风格。
5.1.4 TColor类型
TColor类型用于定义一个对象的颜色。很多部件的颜色属性就是TColor 类型, 在Graphics单元中TColor定义如下:
TColor = -(COLOR_ENDCOLORS + 1)..$02FFFFF;
这是一个32位二进制数据。Graphic单元中还定义了一些常用的颜色常量,这些常量或直接映射成系统调色板中最相近的颜色,或映射成Wondows 控制面板中颜色部分的系统视频颜色。
直接映射成
系统调色板中的颜色有:
ClAqua,CLBlack,ClBlue,ClbkGrray,ClFuchsoa......ClYellow
映射程序用4字节的二进制码来定义颜色,低3 位字节代表RGB 相应的颜色,如$00FF0000表示纯蓝,$0000FF00表示纯绿,$000000FF表示纯红,$00000000表示黑色,$00FFFFFF表示白色。如果最高位字节是$00,则表示用系统调色板中最相近的颜色;最高位字节是$01,则表示用当前调色板中最相近的颜色匹配;最高位字节是$02,则用当前设备描述表中逻辑调色板的次相近颜色匹配。
用Windows API的SelectPalette函数可创建逻辑调色板,要实现逻辑调色板到硬件调色板的映射,需用函数RealizePalett
5.2 图形程序的开发
Graphe