类型 函数 库 graphics.* 返回值 表 版本 版本 2024.3703 关键字 字体、文本、文本度量、图形 另请参阅 使用自定义字体 object.baselineOffset
此函数计算并返回指定名称(文件名)和文本大小的字体各种指标。返回值是一个 表,它包含以下属性
ascent
— 基线以上对于descent
— 基线以下对于leading
— 建议在文本行之间添加的额外空间。height
— 计算出的文本高度值;这是 ascent
绝对值加上 descent
绝对值。graphics.getFontMetrics( fontName [, fontSize] )
字符串. 字体名称,例如"Times New Roman"
"DroidSansMono"
或 "Monaco"
。或者,它可以指向一个实际的字体文件,如 "CoolCustomFont.ttf"
。有关在 Corona 中使用自定义字体的更多详细信息,请参阅 使用自定义字体 指南。
数字. 以磅为单位的所需字体大小。
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()