graphics.getFontMetrics()

类型 函数
graphics.*
返回值
版本 版本 2024.3703
关键字 字体、文本、文本度量、图形
另请参阅 使用自定义字体
object.baselineOffset

概述

此函数计算并返回指定名称(文件名)和文本大小的字体各种指标。返回值是一个 ,它包含以下属性

语法

graphics.getFontMetrics( fontName [, fontSize] )
fontName (必需)

字符串. 字体名称,例如"Times New Roman", "DroidSansMono""Monaco"。或者,它可以指向一个实际的字体文件,如 "CoolCustomFont.ttf"。有关在 Corona 中使用自定义字体的更多详细信息,请参阅 使用自定义字体 指南。

fontSize (可选)

数字.为单位的所需字体大小。

示例

local font = "Avenir"
local fontSize = 100

local text = display.newText( "jKf", display.contentCenterX, display.contentCenterY-120, font, fontSize )

local metrics = graphics.getFontMetrics( font, fontSize )

print( "ASCENT:", metrics.ascent )
print( "DESCENT:", metrics.descent )
print( "LEADING:", metrics.leading )
print( "HEIGHT:", metrics.height )
print( "BASELINE OFFSET:", text.baselineOffset )

local textVertCenter = display.newRect( display.contentCenterX, display.contentCenterY-120, 240, 1 )
textVertCenter:setFillColor( 0.3 )

local baseline = display.newRect( display.contentCenterX, textVertCenter.y-text.baselineOffset, 300, 1 )
baseline:setFillColor( 0.93, 0.1, 0.14 )

local ascent = display.newRect( display.contentCenterX, baseline.y-metrics.ascent, 300, 1 )
ascent:setFillColor( 0.66, 0.39, 0.66 )

local height = display.newRect( display.contentCenterX, ascent.y+metrics.height, 300, 1 )
height:setFillColor( 0.66, 0.39, 0.66 )

local descent = display.newRect( display.contentCenterX+15, baseline.y-metrics.descent, 270, 1 )
descent:setFillColor( 0.27, 0.55, 0.8 )

text:toFront()