使用画布,我想要绘制一些短的标签文本(1-2个字符),使其适合某个指定的矩形。由于其他原因,我使用的缩放比例是这样的,即这个矩形的尺寸很小,大约为1。
我面临的问题是,在绘制文本之前(我使用
我需要的是一些方法,以更高的精确度获取文本的边界框(就像
我面临的问题是,在绘制文本之前(我使用
Canva.drawText()
进行绘制),计算最优的(尽可能大以使文本仍然适合)文本大小,用Paint.setTextSize
设置文本大小。为此,我可以使用Paint.Fontmetrics
对象获取一些通用的字体尺寸作为浮点数,或者使用getTextBounds(String text, int start, int end, Rect bounds)
获取文本的边界框作为整数矩形。由于我使用的缩放比例,后者得到的整数边界框不够精确,无法计算出我的目的所需的最佳文本大小。我需要的是一些方法,以更高的精确度获取文本的边界框(就像
java.awt.FontMetrics
中的getStringBounds(String str, Graphics context)
一样),但我找不到合适的方法。