java 能获取到文字所使用某种字体后的宽度及高度吗

2025-04-06 21:28:56
推荐回答(2个)
回答1:

如果你指的是文字写入图片时的宽度的话,是可以获取的到的。
高度等于字体大小,即size。
宽度可以通过FontMetrics接口可以获取的到。
参考代码如下:
// 创建图片对象
BufferedImage bImg = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);

//得到Graphics2D 对象
Graphics2D g2d = (Graphics2D) bimg.getGraphics();

// 设置字体
Font font = new Font("宋体", Font.BOLD, 30);
g2d.setFont(font);

FontMetrics fm = g2d.getFontMetrics(font);

// 获取文字宽度
int textWidth = fm.stringWidth(text);

回答2:

字符串没有高和宽的概念,这是一个伪命题,请考虑重新修改问题;
如果你值的是在ui上显示字符串的控件的高和宽,那么需要获取到这个控件的实例,然后调用控件的响应函数,比如getHeight之列的方法来获取你想要的信息。