使用Java FontMetrics的Ballpark文本维度

时间:2012-05-15 03:07:18

标签: java fonts

我目前正在将字符串绘制到具有指定字体的画布上。但是,我想根据窗口大小缩放此字体。

给定目标字符串,如何找到特定字体的点大小,以便打印目标字符串为h单位高,或w单位宽?点大小和字体尺寸之间是否存在线性关系?

我可以想到确定相对点大小的非常有臭味的方法(选择任意大小并收缩/增长,直到维度在目标的某个epsilon范围内),但宁愿做得更干净。

如果可能的话,我想用仅字体来做这件事,而不是诉诸仿射变换。

1 个答案:

答案 0 :(得分:3)

对于best metrics,我更喜欢TextLayout,图示为here,但deriveFont(),由@StanislavL在答案here中提出,令人惊讶的敏捷和一点儿都没有恶意。