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 更新时间:
博客园 滔Roy https://www.cnblogs.com/guorongtao 希望内容对你有所帮助,谢谢!