阅读背景:

再学 GDI+[34]: TGPPen - 画笔的缩放变换 - ScaleTransform

来源:互联网 
本例效果图:



代码文件:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    TrackBar1: TTrackBar;
    TrackBar2: TTrackBar;
    procedure FormCreate(Sender: TObject);
    procedure FormPaint(Sender: TObject);
    procedure TrackBar1Change(Sender: TObject);
    procedure TrackBar2Change(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

uses GDIPOBJ, GDIPAPI;

procedure TForm1.FormCreate(Sender: TObject);
begin
  TrackBar1.ShowSelRange := False;
  TrackBar1.Height := 20;
  TrackBar1.Min := 1;
  TrackBar1.Max := 100;
  TrackBar1.Position := 10;

  TrackBar2.ShowSelRange := False;
  TrackBar2.Height := 20;
  TrackBar2.Min := 1;
  TrackBar2.Max := 100;
  TrackBar2.Position := 10;
end;

procedure TForm1.FormPaint(Sender: TObject);
var
  g: TGPGraphics;
  p: TGPPen;
  r: TRect;
begin
  g := TGPGraphics.Create(Canvas.Handle);
  p := TGPPen.Create(aclBrown, 3);

  p.ScaleTransform(TrackBar1.Position / 10, TrackBar2.Position / 10);

  r := ClientRect;
  InflateRect(r, -30, -30);
  OffsetRect(r, 0, -10);
  g.DrawEllipse(p, MakeRect(r));

  p.Free;
  g.Free;
end;

procedure TForm1.TrackBar1Change(Sender: TObject);
begin
  Repaint;
end;

procedure TForm1.TrackBar2Change(Sender: TObject);
begin
  Repaint;
end;

end.

 
 
 
  unit Unit1;

i



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: