【问题标题】:Delphi XE6/Firemonkey - get the actual Text Height?Delphi XE6/Firemonkey - 获取实际的文本高度?
【发布时间】:2014-09-13 10:00:03
【问题描述】:

到目前为止,我已经测试了这个:

mainLabel.Canvas.TextHeight( 'TT' );

返回 16.5,这与 FireMonkey - Android/iOS 上的正确文本高度(实际上约为 30)相差甚远。

  • Firemonkey平台/Delphi XE6下如何获取实际文本高度?

【问题讨论】:

  • 有何不同?有可能它至少包括internal leading,它会在 T 顶部的扁平条上方为您提供一些空间。您能否详细说明(这适用于任何好问题)关于您的期望和期望之间有什么不同请问你有吗?
  • 您的编辑无法帮助我们回答问题。 16.5(像素?)对于普通 UI 大小的字体来说是一个完全合理的文本高度。 您得到的结果与您的预期有何不同? 请显示屏幕截图或其他内容 - 任何内容有助于找出“16.5”到底有什么问题以及将向我们展示您想要什么。其次,您是否调查了内部领先,并且删除它是否会给出您想要的答案 - 无论是什么?
  • 文本的实际高度约为 30 像素,但仍继续返回 16.5 像素。 (很抱歉我没有将它包含在主目录中)。

标签: delphi firemonkey delphi-xe6


【解决方案1】:

听起来您正在使用具有高分辨率显示器的设备。

尝试将 TextHeight 乘以 Canvas.Scale 属性,看看是否得到更接近预期的结果。

【讨论】:

  • 谢谢@Martijn。这正是我想要的。
猜你喜欢
  • 2016-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-17
  • 1970-01-01
相关资源
最近更新 更多