文档章节

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

涂孟超
 涂孟超
发布于 2014/09/26 15:36
字数 235
阅读 5
收藏 0
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;

 
 
 
 
 

 

 

  

本文转载自:http://www.cnblogs.com/del/archive/2008/02/18/1072778.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
R语言之脸谱图

脸谱图和星图类似,但它却比星图可以表示更多的数据维度。用脸谱来分析多维度数据,即将P个维度的数据用人脸部位的形状或大小来表征。脸谱图在平面上能够形象的表示多维度数据并给人以直观的...

wzgl__wh
2016/12/25
0
0
Word 2003绘图技巧

Word 中的图文混排功能非常强大,我们常用 Microsoft Word 来编制数学教案、试卷、打印文稿,但是绘图往往令人头疼.其实 Word 中的制图功能比较强大,有许多技巧.若在使用过程中细心体会反...

麻新鑫
2012/10/26
332
1
图表配置(Chart)

一、图表容器 Highcharts 实例化中绑定容器的方式有两种 1、通过 dom 调用 highcharts() 函数的方式 2、通过 chart.renderTo 来指定 二、图表样式 1、宽度、高度 Highcharts 图表的高度和宽度...

北國丶江山
2016/09/14
16
0
html实现滚动,但兼容不是很好(转载的)

4.3.1 设置文字滚动 HTML技术中使文字滚动的方法是使用双标签 。在HTML代码中可使其作用区文字滚动,默认为从右到左,循环滚动。在D:web目录下创建网页文件,命名为mar.htm,编写代码如代码4...

如风般魅影
2014/03/19
79
0
HTML5 Canvas初体验之绘图基础

相信到目前你应该已经对Canvas这一神奇的HTML5新元素有了一定的了解。在本文中,我们将深入了解画布的功能及特点,学习如何在HTML中利用Canvas绘制图形以及其它类型对象。 【E800编译】相信到...

恐空控
2013/08/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

VSCode 搭建Vue开发环境之Vue CLI

一、简介说明 1.关于VS Code开发工具,安装和配置,更多可以参考以前文章 2.关于Vue.js,Vue是一个优秀的渐进式前端框架,不仅易于上手,还便于与第三方库或既有项目整合。 3.关于Vue是使用方...

tianma3798
22分钟前
2
0
MySQL 相关博客整理

1. 《深入理解 MySQL 底层实现》 简评:文章从硬盘底层存储原理讲解到MySQL存储原理,其中涉及InnoDB 和 Myisam 中 B+Tree 的应用,以及常见数据库优化思路,算是一片很不错的讲解MySQL原理的...

科陆李明
33分钟前
2
0
pada rabbitmq server mangage

查看配置文件 ubuntu@node4:/etc/rabbitmq$ lltotal 28drwxr-xr-x 2 rabbitmq rabbitmq 4096 Jun 6 13:52 ./drwxr-xr-x 104 root root 12288 Sep 26 11:39 ../-rw-r--r-- ......

qwfys
40分钟前
0
0
SpringBoot进阶

慕课网链接 表单数据的验证 在pojo类属性的上面添加注解 @Entitypublic class Girl { @Id @GeneratedValue private Integer id; @NotBlank(message = "这个字段...

踏破铁鞋无觅处
47分钟前
1
0
【SylixOS】QT-QWS流程介绍

QWS简介 QWS(QT Windows System)是QT自行开发的窗口系统,体系结构类似X Windows的C/S结构。QWS Server在物理设备上显示,QWS Client实现界面,两者通过socket进行彼此的通讯。在很多嵌入式系...

suokin
47分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部