FontFamily 和Font 的区别

GDI+ 将字样相同但字形不同的字体分组为字体系列。例如,下面是同一个字样(Arial),不同的字形 :

-------------------------------------------------------- 

Arial Regular 常规

Arial Bold 粗体

Arial Italic 斜体

Arial Bold Italic 粗斜体

-------------------------------------------------

GDI+ 使用四种字形形成字体系列:常规、粗体、倾斜和粗斜体。像 narrow 和 rounded 之类的形容词不被视为字形;而是作为字体系列名的一部分。如下,Arial,Arial Black,Arial Narrow 是三个不同的字样:

--------------------------------------------------------

Arial 

Arial Black

Arial Narrow

------------------------------------------------- 

在GDI+中,字样+字形+字号+单位构成了“字体”,在使用 GDI+ 绘制文本之前,您需要构造一个 FontFamily 对象(指定字样)和一个 Font (“字体”)对象。FontFamily 对象指定字样(例如 Arial,宋体,),而 Font 对象指定字号、字形和单位。

字样如下图这样:

字形如下图这样:

示例
下面的示例构造一个字号为 48,以像素为单位、字形为“粗斜体”、字样为“宋体”的字体。在下面的代码中,传递给 Font 构造函数的第一个参数是 FontFamily 对象。第二个参数指定字体的大小,第三个参数确定字形,其单位由第四个参数确定(可以指定以像素,点...为单位)。

Pixel 为 GraphicsUnit 枚举的一个成员,Regular 是 FontStyle 枚举的一个成员。

 2011020312400234.png

uses
  GDIPAPI,GDIPOBJ;
procedure TForm1.FormPaint(Sender: TObject);
var
  g:TGPGraphics;
  font:TGPFont;
  fontfamily:TGPFontFamily;
  sb:TGPSolidBrush;
begin
  g:=TGPGraphics.Create(Canvas.Handle);
  fontfamily:=TGPFontFamily.Create('宋体');   //建立“字样”对象
  font:=TGPFont.Create(fontfamily,16,FontStyleBoldItalic,UnitPixel); //建立“字体”对象
  sb:=TGPSolidBrush.Create(aclRed);
  g.DrawString('巅枫',-1,font,MakePoint(20.0,10.0),sb);

  sb.free;
  font.free;
  fontfamily.free;
  g.free;
end;

转载于:https://www.cnblogs.com/keyvip/archive/2011/01/28/1947283.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值