911画布对象属性(4) 接下来了解画笔的颜色属性,它的缺省值为黑色。如果要将画笔的颜色 定义为绿色,那么可以用以下的代码: canvas. pen color: =cigreen 或者是: canvas. pen color: =$ooooff00 (2)风格属性( Style) 风格属性是用来设置画笔所画的线的类型,默认值为 ps Solid(实线), 详见表9-2。详见本教程P152页。 属性值说明 Ps Clear没有线条 Ps Solid实线 Ps Dash虚线PsDo圆点 Ps DashDot点划线 Ps DashDotDof双点划线设置画笔的类型可通过如下语句实 现: canvas.Pen.Stye:三<类型值> 例如: canvas. Pen Style:= psDashDot;就设置了画笔的风格类型为点划线 (3)显示模式属性(Mode) 显示模式属性确定画笔是如何画线的,它的取值有以下几种,详见表9-3。 详见本教程P153页 为了便于表达,可以用三个字母来表示颜色:P(画笔的颜色),B(画刷的 颜色),A(背景中已经存在的颜色)。 Inprise Dephi
9.1.1 画布对象属性(4) 接下来了解画笔的颜色属性,它的缺省值为黑色。如果要将画笔的颜色 定义为绿色,那么可以用以下的代码: canvas.pen.color:=clgreen; 或者是: canvas.pen.color:=$0000ff00; (2)风格属性(Style) 风格属性是用来设置画笔所画的线的类型,默认值为psSolid(实线), 详见表9-2。详见本教程P152页。 属性值说明PsClear没有线条PsSolid实线PsDash虚线PsDot圆点 PsDashDot点划线PsDashDotDot双点划线设置画笔的类型可通过如下语句实 现:canvas.Pen.Style:=<类型值>; 例如:canvas.Pen.Style:=psDashDot;就设置了画笔的风格类型为点划线。 (3)显示模式属性(Mode) 显示模式属性确定画笔是如何画线的,它的取值有以下几种,详见表9-3。 详见本教程P153页。 为了便于表达,可以用三个字母来表示颜色:P(画笔的颜色),B(画刷的 颜色),A(背景中已经存在的颜色)
911画布对象属性(5) 【例92】画两个方形,并且两个方形之间有一个交集,如图92所示。 主要的代码如下 procedure TForm1. Button 1Click(Sender: TObject) begin Canvas. Pen width:=3;∥边框宽度3 Canvas. Pen color:=cRed;/画笔颜色:红 canvas. Brush. color:= chEllow,填充色:黄 Canvas Pen. Mode:= pmCopy/系统默认的模式,可写可9 pmCopy属性 canvas. Rectangle(10, 10, 300, 300) ∥一个矩形,左上角的坐标是(10,10),右下角的坐标为 (300,300) canvas. Rectangle(50, 50, 340, 340) ∥画一个矩形,左上角的坐标是(50,50),右下角的坐标为 (340,340) end 当把 Canvas. Pen. Mode:= pmCopy;改为 Canvas. Pen. Mode:= pmblack; 它的显示效果如图9-3所示。 Inprise Dephi
9.1.1 画布对象属性(5) 【例9-2】 画两个方形,并且两个方形之间有一个交集,如图9-2所示。 图9-2 pmCopy 属性 主要的代码如下: procedure TForm1.Button1Click(Sender: TObject); begin Canvas.Pen.Width:=3; //边框宽度3 Canvas.Pen.Color:=clRed; //画笔颜色:红 canvas.Brush.color:=clYellow;//填充色:黄 Canvas.Pen.Mode:=pmCopy;//系统默认的模式,可写可不写 canvas.Rectangle(10,10,300,300); //画一个矩形,左上角的坐标是(10,10),右下角的坐标为 (300,300) canvas.Rectangle(50,50,340,340); // 画一个矩形,左上角的坐标是(50,50),右下角的坐标为 (340,340) end; 当把Canvas.Pen.Mode:=pmCopy;改为Canvas.Pen.Mode:=pmblack; 它的显示效果如图9-3所示
911画布对象属性(6) 图93pmb|ack 图94 pinot 图95 pinot 属性 属性 属性 如果把 Canvas Pen. Mode:= pmCopy;改为 Canvas. Pen Mode:= pmwhite; 那么图9-3就变成了白色的了。 如果把 Canvas. Pen. Mode:= pmCopy;改为 Canvas. Pen Mode:= pinot,当第 次单击显示按钮的时候,则显示的结果如图94所示 第二次单击显示按钮的时候,显示结果如图9-5所示。记住 piNot是对 背景色求反的一种操作。 ③第一次按按钮 A.画第一个方形 由于背景色是灰色的RGB(191,191,191),所以他的反色为RGB(64,64,64)是 种浅黑色 Inprise Dephi
9.1.1 画布对象属性(6) 如果把Canvas.Pen.Mode:=pmCopy;改为Canvas.Pen.Mode:=pmwhite; 那么图9-3就变成了白色的了。 如果把Canvas.Pen.Mode:=pmCopy;改为Canvas.Pen.Mode:=pmnot,当第 一次单击显示按钮的时候,则显示的结果如图9-4所示。 第二次单击显示按钮的时候,显示结果如图9-5所示。记住pmNot是对 背景色求反的一种操作。 图9-3 pmblack 属性 图9-4 pmnot 属性 图9-5 pmnot 属性 第一次按按钮 A. 画第一个方形 由于背景色是灰色的RGB(191,191,191),所以他的反色为RGB(64,64,64)是 一种浅黑色
911画布对象属性(7) B.画第二个方形 在没有图像交叉的部分与画第一个方形没什么两样,背景画图处 还是灰色的RGB(191,191,191),所以画出来的还是淡黑色的。 ③第二次按按钮 根据前面讲的外面黑色的部分被反成灰色,而中间的灰色被求了两次 还是灰色。如图9-5所示 简单地举以上几个例子,其他的属性值自己去尝试一下,你可以看到 多意想不到的效果。 (4)宽度属性( Width) 表示画笔的粗细程度,单位是像素,默认值为1,表示为一个像素。设置方 式为: canvas. Pen, width:=<整型>; 例如: canvas Pen Width:=5;就设置了画笔的宽度为5个像素 3.画刷( Brush) 画刷( Brush)属性是用来设置图形内部区域的填充方式 (1)颜色( Color)属性 颜色属性是来设置画刷的填充区域的颜色,默认情况下是白色 Inprise Dephi
9.1.1 画布对象属性(7) B. 画第二个方形 在没有图像交叉的部分与画第一个方形没什么两样,背景画图处 还是灰色的RGB(191,191,191),所以画出来的还是淡黑色的。 第二次按按钮 根据前面讲的外面黑色的部分被反成灰色,而中间的灰色被求了两次反, 还是灰色。如图9-5所示。 简单地举以上几个例子,其他的属性值自己去尝试一下,你可以看到许 多意想不到的效果。 (4)宽度属性(Width) 表示画笔的粗细程度,单位是像素,默认值为1,表示为一个像素。设置方 式为: canvas.Pen.Width:=<整型>; 例如:canvas.Pen.Width:=5;就设置了画笔的宽度为5个像素。 3. 画刷(Brush) 画刷(Brush)属性是用来设置图形内部区域的填充方式。 (1)颜色(Color)属性 颜色属性是来设置画刷的填充区域的颜色,默认情况下是白色
911画布对象属性(8) 设置方法为 canvas. brush colo:=<属性值>。 例如 canvas. brush color:= clred;就可以将画刷的颜色设置为红色.常见 的颜色值参照表9-1。详见本教程P155页 (2)风格( Style)属性 风格属性是用来确定图形的填充方式,它的取值见表9-4 设置方法为: canvas. brush.stye:=<类型值> 例如: canvas. brush style:= bsCross;就设置了画刷的线条的类型是十 字线 (3)位图( Bitmap)属性 位图属性用来设置一个存放图形数据的对象,可以在程序运行阶段 动态地创建或者删除,常用的命令有: Bitmap. create∥)创建一个位图对象。 Bitmap. free∥放位图对象。 Bitmap loadfromfile(文件路径’)∥)通过文件路径调入位图,装载在位图 对象中。 Bitmap Draw∥在指定的地点按原图的大小显示图形或图像 Inprise Dephi
9.1.1 画布对象属性(8) 设置方法为 canvas. brush.color:=<属性值>。 例如 canvas.brush.color:=clred; 就可以将画刷的颜色设置为红色.常见 的颜色值参照表9-1。详见本教程P155页。 (2)风格(Style)属性 风格属性是用来确定图形的填充方式,它的取值见表9-4。 设置方法为:canvas.brush.style:=<类型值>; 例如:canvas.brush.style:=bsCross; 就设置了画刷的线条的类型是十 字线。 (3)位图(Bitmap)属性 位图属性用来设置一个存放图形数据的对象,可以在程序运行阶段 动态地创建或者删除,常用的命令有: Bitmap.create //创建一个位图对象。 Bitmap.free //释放位图对象。 Bitmap.loadfromfile(‘文件路径’) //通过文件路径调入位图,装载在位图 对象中。 Bitmap.Draw //在指定的地点按原图的大小显示图形或图像