type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
uses GDIPAPI, GDIPOBJ{, Winapi.GDIPUTIL};
{
procedure TForm1.Button1Click(Sender: TObject);
var
graphics: TGPGraphics;
pen: TGPPen;
begin
graphics := TGPGraphics.Create(Canvas.Handle);
pen := TGPPen.Create(MakeColor(255,0,0));
graphics.DrawRectangle(pen, MakeRect(11, 22, 33, 44));
pen.Free;
graphics.Free;
end;
}
//从窗口句柄获取 IGPGraphics
procedure TForm1.Button1Click(Sender: TObject);
var
Graphics:TGPGraphics;
Pen: TGPPen;
begin
Graphics := TGPGraphics.Create(Canvas.Handle);//(Handle);//
Pen := TGPPen.Create(MakeColor(255,0,0),2);//(TGPColor.Red, 2);
Graphics.DrawEllipse(Pen, 20, 10, 150, 40);
end;
//从 HDC 获取 IGPGraphics
procedure TForm1.Button2Click(Sender: TObject);
var
Graphics: TGPGraphics;
Pen: TGPPen;
begin
Graphics := TGPGraphics.Create(Canvas.Handle);
Pen := TGPPen.Create(MakeColor(0,255,0), 2);
Graphics.DrawEllipse(Pen, 20, 40, 150, 40);
end;
//使用 GdiPlusHelpers 为 Canvas 添加的 ToGPGraphics 方法获取 IGPGraphics
procedure TForm1.Button3Click(Sender: TObject);
var
Graphics: TGPGraphics;
Pen: TGPPen;
begin
Graphics := TGPGraphics.Create(Canvas.Handle);// Canvas.ToGPGraphics;
Pen := TGPPen.Create(MakeColor(0,0,255), 2);
Graphics.DrawEllipse(Pen, 20, 70, 150, 40);
end;
//从图像建立 IGPGraphics
procedure TForm1.Button4Click(Sender: TObject);
var
GraphicsImg: TGPGraphics;
Pen: TGPPen;
Image: TGPImage;
Graphics: TGPGraphics;
begin
Image := TGPBitmap.Create('d:\My Documents\My Pictures\cap.bmp');
GraphicsImg := TGPGraphics.Create(Image);
Pen := TGPPen.Create(MakeColor(0,0,255), 2);
GraphicsImg.DrawEllipse(Pen, 0, 0, 100, 100);
//Canvas.ToGPGraphics.DrawImage(Image, 20, 100);
Graphics := TGPGraphics.Create(Canvas.Handle);
Graphics.DrawImage(Image, 20, 100);
end;