Delphi 繪圖TCanvas類[4] TBrush 引數及介紹
阿新 • • 發佈:2022-04-12
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 更新時間: