本例效果圖:
代碼文件: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.
窗體文件:object Form1: TForm1
Left = 0
Top = 0
Caption = 'Form1'
ClientHeight = 105
ClientWidth = 282
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
OldCreateOrder = False
Position = poDesktopCenter
PixelsPerInch = 96
TextHeight = 13
object Button1: TButton
Left = 64
Top = 68
Width = 75
Height = 25
Caption = 'Button1'
TabOrder = 0
OnClick = Button1Click
end
object Button2: TButton
Left = 145
Top = 68
Width = 75
Height = 25
Caption = 'Button2'
TabOrder = 1
OnClick = Button2Click
end
end