Delphi 绘图TCanvas类[4] TBrush 参数及介绍

Delphi 绘图TCanvas类[4] TBrush 类参数及介绍

单元:Graphics

1、TBrush类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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 类风格(指定画笔上的图案)

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

提示:将Style属性设置为bsClear,以消除对象重新绘制时的闪烁。

示例:(在Form1上绘制了一个交叉阴影椭圆)

1
2
3
4
5
6
7
8
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(指定定义画笔图案的外部位图图像。)

1
property Bitmap: TBitmap;
  • 位图指向保存位图图像的TBitmap对象。如果位图为非空,则位图图像(而不是Style属性)定义笔刷的图案。如果图像大于8个像素乘以8个像素,则仅使用左上角的8×8区域。
  • 更改图像不会影响画笔,直到TBitmap重新指定给位图属性。使用画笔完成后,请务必释放TBitmap,因为TBrush不会释放它。

示例:(从文件中加载位图,并将其指定给Form1画布的画笔)

1
2
3
4
5
6
7
8
9
10
11
12
13
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  更新时间:

posted on   滔Roy  阅读(548)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
历史上的今天:
2021-04-12 WinCMD Copy命令 复制/拷贝
2015-04-12 Delphi 中TreeView使用

导航

点击右上角即可分享
微信分享提示