假设使用 10点字体渲染的字符串的宽度为200像素。如果我使用 15点字体(增加50%)绘制相同的字符串,它的渲染宽度是否也会增加50%(到 300像素)?

(当然,这假定字体和呈现文本的Graphics2D没有其他更改。)

换句话说,字体的磅值和呈现文本的大小之间是否存在直接的线性关系?还是有其他变量阻止我做出任何此类假设?

最佳答案

您已接近假设。

但是,字母之间的间距并不一定总是正确缩放。我相信这与有时会有余数的整数除法有关,但是我有一段时间没有看Java FontMetrics类代码了。

最安全的做法是始终创建具有适当字体大小的新Font,并在getStringBounds类上调用FontMetrics方法。

07-28 01:39
查看更多