• 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  更新时间:

  • 相关阅读:
    Tar命令用法详解
    一次Linux系统被攻击的分析过程
    企业系统安全管理和强化的十点建议
    中型企业的IT运维策略
    企业邮件服务器被列入RBL,申请撤销PBL指控
    Xshell远程连接Ubuntu
    LeetCode 7: Reverse Integer
    LeetCode 14: Longest Common Prefix
    LeetCode 203:Remove Linked List Elements
    数据挖掘之处理分类自变量与处理时间变量
  • 原文地址:https://www.cnblogs.com/guorongtao/p/16133515.html
Copyright © 2020-2023  润新知