本例效果圖:
代碼文件:unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
uses GDIPOBJ, GDIPAPI;
procedure TForm1.Button1Click(Sender: TObject);
var
g: TGPGraphics;
sb: TGPSolidBrush;
font: TGPFont;
begin
g := TGPGraphics.Create(Canvas.Handle);
sb := TGPSolidBrush.Create(aclBlack);
{指定字體名和字號即可建立 TGPFont 類}
font := TGPFont.Create('宋體', 9);
g.DrawString('嬌女字平陽 折花倚桃邊 折花不見我 淚下如流泉', -1, font, MakePoint (10.0,20), sb);
{參數 2 為 -1 表示輸出所有指定字符; 參數 4 必須為 TGPPointF 結構}
font.Free;
sb.Free;
g.Free;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
g: TGPGraphics;
sb: TGPSolidBrush;
font: TGPFont;
begin
g := TGPGraphics.Create(Canvas.Handle);
sb := TGPSolidBrush.Create(aclBlack);
{借用其他 DC 的特征建立 TGPFont 類; 但好像不能繼承所有特征, 譬如字體顏色}
Canvas.Font.Name := '宋體';
Canvas.Font.Size := 9;
font := TGPFont.Create(Canvas.Handle);
g.DrawString('小兒名伯禽 與姊亦齊肩 雙行桃樹下 撫背復誰憐', -1, font, MakePoint (10.0,40), sb);
font.Free;
sb.Free;
g.Free;
end;
end.