文档章节

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

涂孟超
 涂孟超
发布于 2014/09/26 15:36
字数 235
阅读 5
收藏 0
点赞 0
评论 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
jquery highcharts组件--饼型图标实例

<html> <head> <title>highcharts报表示例</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <script type="text/javascript" src="./jquery-1.11.1.min.js"......

魏邪乎
2014/10/23
0
0
基于DIV+ul+li实现的表格(多示例)

本文由 www.169it.com 搜集整理 普通的显示数据的时候,ul就是项目列表,li就是列表项。可以用来显示数据。如果用于DIV+CSS布局的话,ul+li可以替换表格的作用,具体的设置,如果宽度高度、...

小星星程序员
2014/11/06
0
0
文档、文案与知识管理文章

本文为(20160331)讲座讲义。 致谢声明: 本教程中LaTeX部分参考了LaTeX Notes (2nd)和thulib-latex-talk相关内容,在此向原作者表示感谢 :) also available here 讲义下载 part-1.pptx | ...

PeterYuan
2016/05/23
0
0
ASP.NET画图控件 Chart Control 免费控件

.NET3.5中中推出了图表控件,可以同时支持Web和WinForm两种方式,由于平时很少使用,一直没有玩玩,闲来无事,简单研究了下,感觉功能真的很强大,基本上可以满足各种图表的应用,感觉这么好...

晨曦之光
2012/03/09
377
0
go-wingui 2018 全新 v2.0 版本发布,包含重大更新!

本次更新: 使用新版CEF内核Chromium 63.0.3239.109,页面可以使用最新的css3,html5技术。 使用delphi7重写了cef服务,更加稳定,而且避免了1.x版本使用autoit3误报病毒的问题。 JS注入,可以对...

狂奔的蜗牛.
01/03
2.1K
22

没有更多内容

加载失败,请刷新页面

加载更多

下一页

ES15-JAVA API 索引管理

1.创建连接 创建连接demo package com.sean.esapi.client;import java.net.InetSocketAddress;import org.elasticsearch.action.get.GetResponse;import org.elasticsearch.clien......

贾峰uk
2分钟前
0
0
单点登录的设计,从单域名到多域名(经验分享)

个人实践总结,最初的的需求,多个产品线都在同一个根域名下面。 独立的用户中心分离,单独负责用户登录和用户信息获取、变更等处理逻辑。 第一步,用户登录成功,分配给用户一个memToken(令...

小海bug
4分钟前
0
0
合格前端第十二弹-TypeScript + 大型项目

写在前面 TypeScript 已经出来很久了,很多大公司很多大项目也都在使用它进行开发。上个月,我这边也正式跟进一个对集团的大型运维类项目。 项目要做的事情大致分为以下几个大模块 一站式管理...

qiangdada
8分钟前
0
0
编程学习之如何在Node.js中优化服务器端渲染?[图]

编程学习之如何在Node.js中优化服务器端渲染?[图] 在 Airbnb,我们花了数年时间将所有前端代码迁移到 React 架构,Ruby on Rails 在 Web 应用中所占的比例每天都在减少。实际上,我们很快会...

原创小博客
10分钟前
0
0
gradle学习笔记

相关文档 适合新手的 gradle 自学教程合集 Gradle教程

OSC_fly
24分钟前
0
0
Virtual Serial Port - RFC2217

Virtual Serial Port for Linux RFC-2217 The COM Port Control Protocol pyserial - RFC 2217 NetSerial - Windows Telnet COM Port - RFC Official Using Python, How do I make a virtual......

zungyiu
31分钟前
0
0
全球的IPv6部署急剧增加,中国进度较慢

导读 全球的IPv6部署继续增加,但中国在IPv6方面还需要努力,从部署图上分析,中国几乎没有几个地方是普及IPv6的。这6年来,自世界IPv6发布以来,全球网络和服务提供商的IPv6部署水平急剧增加...

问题终结者
35分钟前
1
0
好看的电影记录

星际迷航三 狂暴之路 新木乃伊 黑夜传说 铁血战士2

xd03122049
38分钟前
0
0
记录Yii2框架开发遇到微信错误提示

转载地址 记录Yii2框架开发遇到微信错误提示 微信公共号开发,提示“该公众号暂时无法提供服务,请稍后再试”,如何解决? 以前使用Yii框架的时候,并没有像Yii2,以前的Yii框架似乎用起来在...

durban
40分钟前
1
0
LSM树(Log-Structured Merge Tree)存储引擎浅析

其实每一种数据库,它都是一种抽象的数据结构的具体实现。 随着rocksDB(facebook的),levelDB(google的),以及我们熟知的hbase,他们都是使用的LSM树结构的数据库。 它的核心思路其实非常...

算法之名
54分钟前
13
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部