第12章图形图像编程 本章要点: TCanvas对象的常用属性、方法及其使用 区TGph对象的常用属性、方法及其使用 区 TBitmap对象的常用属性、方法及其使用 多区Pm对象的常用属性、方法及其使用 M Delphi中的图形图像组件及其使用
第12章 图形图像编程 本章要点: TCanvas对象的常用属性、方法及其使用 TGraphic对象的常用属性、方法及其使用 TBitmap对象的常用属性、方法及其使用 Picture对象的常用属性、方法及其使用 Delphi中的图形图像组件及其使用
12.1循序渐进学理论 1211 Canvas对象的使用 1. TCanvas对象的属性 (1)Pen属性 ① Color属性 ③使用 Delphi提供的系统颜色常量 如语句: Forml Canvas. Pen Color =clBlue 使用RGB函数 RGB函数的一般格式为: RGB(R, G, B)
12.1 循序渐进学理论 12.1.1 TCanvas对象的使用 1.TCanvas对象的属性 (1)Pen属性 ①Color属性 使用Delphi提供的系统颜色常量 如语句: Form1.Canvas.Pen.Color:=clBlue 使用RGB函数 RGB函数的一般格式为: RGB(R,G,B)
直接以数字表示颜色 例如有如下语句 Forml Canvas. Pen. Color: -OOFFOOFF 该语句与下面的语句作用是相同的: Form1. Canvas. Pen Color: =RGB(255, 0, 255) ③ Width属性 该属性用于设置线条的粗细宽度,单位是像素,其 最小值为1。下面的代码会将线条的粗细宽度设置为 八10个像素。 Form1. Canvas. Pen Width: =10 ④Mode属性 FormI. Canvas. Pen Mode: pmXor 其作用是画线时把画笔的颜色与屏幕的颜色异或
直接以数字表示颜色 例如有如下语句: Form1.Canvas.Pen.Color:=$00FF00FF; 该语句与下面的语句作用是相同的: Form1.Canvas.Pen.Color:=RGB(255,0,255); ③Width属性 该属性用于设置线条的粗细宽度,单位是像素,其 最小值为1。下面的代码会将线条的粗细宽度设置为 10个像素。 Form1.Canvas.Pen.Width:= 10; ④Mode属性 Form1.Canvas.Pen.Mode:= pmXor; 其作用是画线时把画笔的颜色与屏幕的颜色异或
(2) Brush属性 ① Color属性 用来设置填充色,取值及含义与Pen的 Color属性一样。 ② Style属性 该属性用来设置填充样式。图12-1是 Brush颜色值为 blAck时的 Style属性值及其代表的样式 由由 bssolid DIagonal bsclear sTrOss bsDiagCross bsFDiagonal horizontal vertical 图12-1 Brush对象的 Style属性值及其代表的填充样式
(2)Brush属性 ①Color属性 用来设置填充色,取值及含义与Pen的Color属性一样。 ②Style属性 该属性用来设置填充样式。图12-1是Brush颜色值为 clBlack时的Style属性值及其代表的样式。 图12-1 Brush对象的Style属性值及其代表的填充样式
(3) Pixels属性 该属性是一个二维数组属性,其声明如下 property Pixels[X,Y: Integer]: TColor (4)Font属性 该属性用来设置在画布对象上输出文字的字体格 式,它也有自己的子属性,通过设置它的子属性,可 以决定在画布上输出文字的字体、大小、颜色以及字 体风格等。 (5) ClipRect属性 该属性的声明如下: property Cliprect: TRect
(3)Pixels属性 该属性是一个二维数组属性,其声明如下: property Pixels[X,Y:Integer]:TColor; (4)Font属性 该属性用来设置在画布对象上输出文字的字体格 式,它也有自己的子属性,通过设置它的子属性,可 以决定在画布上输出文字的字体、大小、颜色以及字 体风格等。 (5)ClipRect属性 该属性的声明如下: property C1ipRect:TRect;
(6) CopyMode属性 该属性用于设置从其他画布拷贝图像的方式 (7) Handle属性 该属性用来返回画布对象的句柄。 (8) Penpos属性 该属性的类型是 Tpoint型,其功能是用来设置 或返回当前画笔位置所在的点
(6)CopyMode属性 该属性用于设置从其他画布拷贝图像的方式 (7)Handle属性 该属性用来返回画布对象的句柄。 (8)PenPos属性 该属性的类型是Tpoint型,其功能是用来设置 或返回当前画笔位置所在的点
2. TCanvas对象的方法 (1) MoveTo方法 [格式]: procedure Move To(X, Y Integer) (2) Lineto方法 [格式]: procedure Lineto(X, Y Integer); (3)Arc方法 类A格式]: procedure Arc(X1,yx,x,r2,x,r3,x,y4 Integer); (4)E11ipse方法 LRIt]: procedure Ellipse(Xl, Y1, X2, Y2: Integer)
2.TCanvas对象的方法 (1)MoveTo方法 [格式]:procedure MoveTo(X,Y Integer); (2)LineTo方法 [格式]:procedure LineTo(X,Y Integer); (3)Arc方法 [格式]:procedure Arc(Xl,Y1,X2,Y2,X3,Y3,X4,Y4: Integer); (4)Ellipse方法 [格式]:procedure Ellipse(Xl,Y1,X2,Y2:Integer);
(5) Rectangle方法 RIt]: procedure Rectangle(X1, Y1, X2, Y2: Integer) (6) Roundrect方法 [ It]: procedure RoundRect(X1, Y1, X2, Y2, X3, Y3 Integer) (7)Pie方法 [格式]: Procedure piet(Ⅹ1,Y1,X2,Y2,X3,Y3,X4,Y4 Longint) (8)Draw方法 类人格式: procedure Draw(X, YInteger; Graphic: Tgraphi): (9) Copy rect方法 [格式]: procedure Rect(Dest: TRect; Canvas: Tcanvas; Sour ce: TRect)
(5)Rectangle方法 [格式]:procedure Rectangle(X1,Y1,X2,Y2:Integer); (6)RoundRect方法 [ 格 式 ] : procedure RoundRect(X1,Y1,X2,Y2,X3,Y3 : Integer); (7)Pie方法 [ 格 式 ] : Procedure Pie(X1,Y1,X2,Y2,X3,Y3,X4,Y4 : Longint); (8)Draw方法 [格式]:procedure Draw(X,YInteger;Graphic:Tgraphic); (9)CopyRect方法 [格式]: procedureCopyRect(Dest:TRect;Canvas:Tcanvas;Sour ce:TRect);
(10) FillRect方法 [格式]: procedure FillRect(const Rect: TRect); (11) StretchDraw方法 LRrt]: procedure StretchDraw(const Rect: TRect Graphic: GRaphic (12) Textout方法 [格式]: procedure Textout(X,Y: Integer, const Text: String) 13) Polygon方法 类A[格式: Procedure Polygon (point(x1, y1), point(x2, y2), Point(x3, y3 (14) Chord方法 [格式]: Procedure Chord(X1, Y1, X2, Y2, X3, Y3, X4, Y4)
(10)FillRect方法 [格式]:procedure FillRect(const Rect:TRect); (11)StretchDraw方法 [格式]:procedure StretchDraw(const Rect:TRect; Graphic:TGraphic); (12)TextOut方法 [格式]:procedure Textout(X,Y:Integer, const Text:String); (13)Polygon方法 [格式]:Procedure Polygon([Point(x1,y1),Point(x2,y2),Point(x3,y3 ),…]); (14)Chord方法 [格式]:Procedure Chord(X1,Y1,X2,Y2,X3,Y3,X4,Y4);
【例12-1】编写一个程序,用来绘制一个椭圆和 几个圆角矩形。程序执行时,单击【画图】按钮,运 行界面如图12-2所示。 For1 口区 画图 图12-2程序运行界面
【例12-1】 编写一个程序,用来绘制一个椭圆和 几个圆角矩形。程序执行时,单击【画图】按钮,运 行界面如图12-2所示。 图12-2 程序运行界面