1. 程式人生 > 其它 >Delphi 繪圖TCanvas類[4] TBrush 引數及介紹

Delphi 繪圖TCanvas類[4] TBrush 引數及介紹

Delphi 繪圖TCanvas類[4] TBrush 類引數及介紹

單元:Graphics

1、TBrush類

TBrush = class(TGraphicsObject)
  private
    procedure GetData(var BrushData: TBrushData);
    procedure SetData(const BrushData: TBrushData);
  protected
    function GetBitmap: TBitmap;
    procedure SetBitmap(Value: TBitmap);
    function GetColor: TColor;
    procedure SetColor(Value: TColor);
    function GetHandle: HBrush;
    procedure SetHandle(Value: HBrush);
    function GetStyle: TBrushStyle;
    procedure SetStyle(Value: TBrushStyle);
  public
    constructor Create;
    destructor Destroy; override;
    procedure Assign(Source: TPersistent); override;
    property Bitmap: TBitmap read GetBitmap write SetBitmap;
    property Handle: HBrush read GetHandle write SetHandle;
  published
    property Color: TColor read GetColor write SetColor default clWhite;
    property Style: TBrushStyle read GetStyle write SetStyle default bsSolid;
  end;

主要屬性:Color、Style、Bitmap

2、TBrushStyle 類風格(指定畫筆上的圖案)

TBrushStyle = (bsSolid, bsClear, bsHorizontal, bsVertical,bsFDiagonal, bsBDiagonal, bsCross, bsDiagCross);

提示:將Style屬性設定為bsClear,以消除物件重新繪製時的閃爍。

示例:(在Form1上繪製了一個交叉陰影橢圓)

procedure TForm1.Button1Click(Sender: TObject);
begin
  with Form1 do begin
    Canvas.Brush.Color := clRed;
    Canvas.Brush.Style := bsDiagCross;
    Canvas.Ellipse(0, 0, Image1.Width, Image1.Height);
  end;
end;

3、Bitmap(指定定義畫筆圖案的外部點陣圖影象。)

property Bitmap: TBitmap;
  • 點陣圖指向儲存點陣圖影象的TBitmap物件。如果點陣圖為非空,則點陣圖影象(而不是Style屬性)定義筆刷的圖案。如果影象大於8個畫素乘以8個畫素,則僅使用左上角的8×8區域。
  • 更改影象不會影響畫筆,直到TBitmap重新指定給點陣圖屬性。使用畫筆完成後,請務必釋放TBitmap,因為TBrush不會釋放它。

示例:(從檔案中載入點陣圖,並將其指定給Form1畫布的畫筆)

var
  Bitmap: TBitmap;
begin
  Bitmap := TBitmap.Create;
  try
    Bitmap.LoadFromFile('TaoRoy_Test.bmp');
    Form1.Canvas.Brush.Bitmap := Bitmap;
    Form1.Canvas.FillRect(Rect(0,0,200,200));
  finally
    Form1.Canvas.Brush.Bitmap := nil;
    Bitmap.Free;
  end;
end;

  

 

 

 

 

建立時間:2022.04.12  更新時間: