Welcome

首页 / 软件开发 / Delphi / 再学GDI+[38]: 文本输出 - DrawString、TGPFont

再学GDI+[38]: 文本输出 - DrawString、TGPFont2012-05-07 cnblogs 万一本例效果图:

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