
代码文件:
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