前言
在一些场景下,我们经常会通过判断字符串的长度,比如个数来实现换行(这个具体实施,请参考String根据字数进行分隔,然后逻辑自己控制),但是中文、英文、数字、其实在展示的时候同样长度的字符串,其实它的宽度是不一样的,这也是们我通俗意义上说的宽度(像素)
1、根据像素宽度进行换行
需求:
/**
* 10、自己做图片 ,根据文本宽度进行换行
*/
@Test
public void creatMyImage(){
//整体图合成
BufferedImage bufferedImage = new BufferedImage(500, 500, BufferedImage.TYPE_INT_RGB);
//设置图片的背景色
Graphics2D main = bufferedImage.createGraphics();
main.fillRect(0, 0, 500, 500);
String text = "111122223所以比传统纸巾更环保3334441比传统纸巾更环11111111111111122223所以比传统纸巾更环保3334441比传统纸巾更环11111111111111122223所以比传统纸巾更环保3334441比传统纸巾更环11111111111111122223所以比传统纸巾更环保3334441比传统纸巾更环11111111111";
Graphics2D textG = bufferedImage.createGraphics() ;
textG.setColor(new Color(37,37,37));
Font hualaoContentFo