java graphics2d 写入文字_Java 使用Graphics2D图片上写字,计算宽和高 以及字体的位置...

本文介绍了如何使用Java Graphics2D在图片上写入文字,并详细讲解了如何计算每个字符的宽度、合适的高度以及字体的位置。通过FontMetrics类获取字体的尺寸信息,实现动态调整文字在图片上的布局。示例代码展示了创建带有文字的图片,并保存为PNG文件的过程。
摘要由CSDN通过智能技术生成

AAffA0nNPuCLAAAAAElFTkSuQmCC

如上图,这个是一个有中文与英文的字符串。 中文与英文字符的宽高是不一样的,如果想要生成一张宽高刚的图片,这样我就需要计算每一个字符的宽度,及合适的高;

java.awt.FontMetrics 这个类对文字的宽高位置有详细的介绍;

计算使用字体的一段字符串的宽public static int getWordWidth(Font font, String content) {

FontDesignMetrics metrics = FontDesignMetrics.getMetrics(font);

int width = 0;

for (int i = 0; i 

width += metrics.charWidth(content.charAt(i));

}

return width;

}

计算使用字体的最大的高度FontDesignMetrics metrics = FontDesignMetrics.getMetrics(font);

int height = metrics.getHeight();

在图片是写文字时最合适的位置

Ascent是从基线到顶部最大的高,也可以当做一个种字体画图时最有可以点用的高度graphics.drawString(content, 0, metrics.getAscent());

测试代码import sun.font.FontDesignMet

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值