BeginPath {路径开始}EndPath {路径结束}StrokePath {绘制路径}FillPath {填充路径}StrokeAndFillPath {绘制并填充路径}//在路径中可以使用的图形命令有:AngleArcArcArcToChordCloseFigureEllipseExtTextOutLineToMoveToExPiePolyBezierPolyBezierToPolyDrawPolygonPolylinePolylineToPolyPolygonPolyPolylineRectangleRoundRectTextOut本例效果图:
代码文件:
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;type TForm1 = class(TForm) RadioGroup1: TRadioGroup; procedure FormCreate(Sender: TObject); procedure FormPaint(Sender: TObject); procedure RadioGroup1Click(Sender: TObject); end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);begin RadioGroup1.Items.CommaText := '绘制路径,填充路径,绘制并填充'; RadioGroup1.ItemIndex := 0; RadioGroup1.Columns := RadioGroup1.Items.Count;end;procedure TForm1.FormPaint(Sender: TObject);begin Canvas.Font.Size := 36; Canvas.Font.Style := [fsBold]; SetBkMode(Canvas.Handle, TRANSPARENT); BeginPath(Canvas.Handle); Canvas.Rectangle(10,10,110,110); Canvas.TextOut(20,30,'Delphi 2007'); EndPath(Canvas.Handle); Canvas.Brush.Color := clYellow; Canvas.Pen.Color := clRed; case RadioGroup1.ItemIndex of 0: StrokePath(Canvas.Handle); 1: FillPath(Canvas.Handle); 2: StrokeAndFillPath(Canvas.Handle); end;end;procedure TForm1.RadioGroup1Click(Sender: TObject);begin Repaint;end;end.窗体设计:
object Form1: TForm1 Left = 373 Top = 260 Caption = 'Form1' ClientHeight = 193 ClientWidth = 321 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'Tahoma' Font.Style = [] OldCreateOrder = False Position = poDesigned OnCreate = FormCreate OnPaint = FormPaint PixelsPerInch = 96 TextHeight = 13 object RadioGroup1: TRadioGroup Left = 28 Top = 131 Width = 265 Height = 49 Caption = 'RadioGroup1' TabOrder = 0 OnClick = RadioGroup1Click endend