canvas教程

再谈文字的高度与宽度: Canvas.TextExtent

字号+ 作者:H5之家 来源:H5之家 2015-10-06 19:18 我要评论( )

procedure TForm1.Button1Click(Sender: TObject);var str: string; wh: TSize; w,h: Integer;begin ...

您现在的位置:天新网 > 软件开发 > 开发语言 > Delphi开发 > Delphi技巧

Delphi 的绘图功能[15] - 再谈文字的高度与宽度: Canvas.TextExtent

2008年11月12日 Blog 万一

  procedure TForm1.Button1Click(Sender: TObject);

var
 str: string;
 wh: TSize;
 w,h: Integer;
begin

  {前面用过 Canvas.TextWidth、Canvas.TextHeight}

 str := '万';
 w := Canvas.TextWidth(str);
 h := Canvas.TextHeight(str);
 ShowMessage(Format('宽度: %d; 高度: %d', [w,h])); {宽度: 12; 高度: 13}

  {对等宽字体, 多个字符的宽度肯定是倍数关系}

 str := '万一';
 w := Canvas.TextWidth(str);
 h := Canvas.TextHeight(str);
 ShowMessage(Format('宽度: %d; 高度: %d', [w,h])); {宽度: 24; 高度: 13}

  {Canvas.TextExtent 函数可以同时获取字体的高度与宽度, 不过它返回的是一个 TSize 结构}

 wh := Canvas.TextExtent(str);
 w := wh.cx;
 h := wh.cy;
 ShowMessage(Format('宽度: %d; 高度: %d', [w,h])); {宽度: 24; 高度: 13}

  {如果字号改变了, 当然高度与宽度也会随之变化}

 Canvas.Font.Size := 16;
 wh := Canvas.TextExtent(str);
 w := wh.cx;
 h := wh.cy;
 ShowMessage(Format('宽度: %d; 高度: %d', [w,h])); {宽度: 42; 高度: 25}

  {Font.Height 是可读写的}

 Canvas.Font.Height := 32;
 wh := Canvas.TextExtent(str);
 w := wh.cx;
 h := wh.cy;
 ShowMessage(Format('宽度: %d; 高度: %d', [w,h])); {宽度: 52; 高度: 32}
end;

上一篇: Delphi 正则表达式起步
下一篇: Delphi 正则表达式语法(1): 关于大小写与中文

相关内容

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • JS canvas学习笔记

    JS canvas学习笔记

    2017-04-29 15:03

  • open canvas-八神智能-丁香做

    open canvas-八神智能-丁香做

    2017-04-15 10:01

  • iOS app for Canvas V1

    iOS app for Canvas V1

    2017-04-09 11:03

  • delphi显示jpg、png、gif图片

    delphi显示jpg、png、gif图片

    2017-04-07 11:09

网友点评