1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > java图片处理 文字自动换行

java图片处理 文字自动换行

时间:2022-04-19 08:13:51

相关推荐

java图片处理 文字自动换行

BufferedImage - Graphics2D 图片处理 文字居中换行util

/***** @param g Graphics2D* @param font Font* @param text 文本内容* @param x 起始点X轴坐标* @param y 起始点Y轴坐标* @param maxWidth 文字最大长度*/public static void content(Graphics2D g , Font font , String text , int x , int y , int maxWidth) {FontMetrics fontMetrics = g.getFontMetrics(font);int textWidth = fontMetrics.stringWidth(text);int X = (maxWidth - textWidth) / 2;g.drawString(text,x+X,y);}

BufferedImage - Graphics2D 图片处理 文字自动换行util

/***** @param g Graphics2D* @param font Font* @param text 文本内容* @param x 起始点X轴坐标* @param y 起始点Y轴坐标* @param maxWidth 文字最大长度*/public static void drawString(Graphics2D g , Font font , String text , int x , int y , int maxWidth) {JLabel label = new JLabel(text);label.setFont(font);FontMetrics metrics = label.getFontMetrics(label.getFont());int textH = metrics.getHeight();int textW = metrics.stringWidth(label.getText()); //字符串的宽String tempText = text;while(textW > maxWidth) {int n = textW / maxWidth;int subPos = tempText.length() / n;String drawText = tempText.substring(0 , subPos);int subTxtW = metrics.stringWidth(drawText);while(subTxtW > maxWidth) {subPos--;drawText = tempText.substring(0 , subPos);subTxtW = metrics.stringWidth(drawText);}g.drawString(drawText , x , y);y += textH;textW = textW - subTxtW;tempText = tempText.substring(subPos);}g.drawString(tempText , x , y);}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。