首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> Delphi

GDI+ 矩形繪製基礎:DrawRectangle 多重載與 MakeRect

     編輯:Delphi

DrawRectangle 是 GDI+ 最基礎的繪圖方法之一,提供多種重載支援整數/浮點座標、TGPRect 結構體傳遞。配合 MakeRect 輔助函數可簡化矩形構建代碼。

主要重載

g.DrawRectangle(p, x, y, w, h: Single);      { 浮點座標 }
g.DrawRectangle(p, x, y, w, h: Integer);     { 整數座標 }
g.DrawRectangle(p, rect: TGPRect);           { 結構體 }
g.DrawRectangle(p, rect: TGPRectF);          { 浮點結構體 }

程式碼實作

繪製兩個矩形:第一個指定座標寬高,第二個使用 MakeRect 以中心點擴展:

unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    procedure FormPaint(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
uses GDIPOBJ, GDIPAPI;

procedure TForm1.FormPaint(Sender: TObject);
const
  w = 100;
  h = 50;
var
  g: TGPGraphics;
  p: TGPPen;
  x, y: Single;
begin
  g := TGPGraphics.Create(Canvas.Handle);
  p := TGPPen.Create(0, 2);
  g.Clear(MakeColor(255, 255, 255));
  x := 20;
  y := 20;
  p.SetColor(aclRed);
  g.DrawRectangle(p, x, y, w, h);
  p.SetColor(aclGold);
  x := x + w / 2;
  y := y + h / 2;
  g.DrawRectangle(p, MakeRect(x, y, w, h));
  g.Free;
  p.Free;
end;

end.

執行效果

DrawRectangle 矩形示範

MakeRect 使用技巧

  • MakeRect(X, Y, W, H):最常用,左上角座標 + 寬高
  • MakeRect(Point, Size):分離位置與尺寸,利於動畫插值
  • MakeRect(TRect):直接轉換 VCL TRect,互操作便利
  • 浮點版 MakeRectF 適合高 DPI、縮放、旋轉場景

掌握矩形繪製是所有 2D 圖形程式設計的起點,建議熟記常用重載與輔助函數。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved