欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

再学 GDI+[5] DrawArc - 绘制弧线

程序员文章站 2022-03-31 11:37:27
...

 

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Spin, ExtCtrls;

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    SpinEdit1: TSpinEdit;
    SpinEdit2: TSpinEdit;
    Label1: TLabel;
    Label2: TLabel;
    procedure FormPaint(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
uses
  GDIPAPI,GDIPOBJ;
var
  a1,a2:Integer;
procedure TForm1.FormCreate(Sender: TObject);
begin
  a1:=0;
  a2:=360;
  SpinEdit1.Text:=IntToStr(a1);
  SpinEdit2.Text:=IntToStr(a2);
  SpinEdit1.Increment:=10;
  SpinEdit2.Increment:=10;

end;

procedure TForm1.FormPaint(Sender: TObject);
var
  g:TGPGraphics;
  p:TGPPen;
  x,y,w,h: Integer;
begin
  g:=TGPGraphics.Create(Canvas.Handle);
  p:=TGPPen.Create(aclRed,2);
  g.Clear(aclWhite);

  x := ClientWidth div 6;
  y := ClientHeight div 6;
  w := x * 4;
  h := y * 3;

  a1:=StrToIntDef(SpinEdit1.Text,0);
  a2:=StrToIntDef(SpinEdit2.Text,360);


  g.DrawArc(p,x,y,w,h,a1,a2);

  p.Free;
  g.Free;
end;

end.

转载于:https://www.cnblogs.com/keyvip/archive/2010/12/31/1922796.html