zoukankan      html  css  js  c++  java
  • GdiPlus[19]: IGPPathGradientBrush 之 SetCenterPoint


    测试效果图:



    测试代码:

    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs;
    
    type
      TForm1 = class(TForm)
        procedure FormPaint(Sender: TObject);
        procedure FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    uses GdiPlus, GdiPlusHelpers;
    
    var
      Pt: TGPPointF;
    
    procedure TForm1.FormPaint(Sender: TObject);
    var
      Brush: IGPPathGradientBrush;
      Rect: TGPRect;
      Path: IGPGraphicsPath;
    begin
      Rect.Initialize(10, 10, 200, 150);
      Path := TGPGraphicsPath.Create;
      Path.AddEllipse(Rect);
    
      Brush := TGPPathGradientBrush.Create(Path);
      Brush.CenterColor := $FF00FF00;
      Brush.SetSurroundColors([$FF000000]);
    
      Brush.SetCenterPoint(Pt);
    
      Canvas.ToGPGraphics.FillEllipse(Brush, Rect);
      Canvas.ToGPGraphics.DrawRectangle(TGPPen.Create($FFFF0000), Pt.X-3, Pt.Y-3, 6, 6);
    end;
    
    procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    begin
      Pt.X := X;
      Pt.Y := Y;
      Repaint;
    end;
    
    end.
    
  • 相关阅读:
    markdown基本语法
    每天一个Linux命令:pwd(3)
    每天一个Linux命令:cd(2)
    每天一个Linux命令:ls(1)
    每天一个Linux命令:man(0)
    maven命令行创建项目问题
    Regular Expression
    JS事件流
    canvas与svg区别
    js调试
  • 原文地址:https://www.cnblogs.com/del/p/1624617.html
Copyright © 2011-2022 走看看