效果图

import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.geom.Rectangle2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;/*** 作者qq1023732997*/
public class PictureMerge {public static void textToImage(String str) {try {int width = 390;int height = 140;BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);Font font = new Font("黑体", Font.PLAIN, 14);Graphics g = image.getGraphics();g.setColor(Color.white);g.fillRect(0, 0, width, height);g.setFont(font);Color c = new Color(106, 106, 106);g.setColor(c);int fontHeight = (int) font.getSize2D();// 得到当前的font metricsFontMetrics metrics = g.getFontMetrics();int StrPixelWidth = metrics.stringWidth(str); // 字符串长度(像素) str要打印的字符串int lineSize = (int) Math.ceil(StrPixelWidth * 1.0 / width);// 算出行数System.out.println(StrPixelWidth + "---:");if (width < StrPixelWidth) {// 页面宽度(width)小于 字符串长度StringBuilder sb = new StringBuilder();// 存储每一行的字符串int j = 0;int tempStart = 0;String tempStrs[] = new String[lineSize];// 存储换行之后每一行的字符串for (int i1 = 0; i1 < str.length(); i1++) {char ch = str.charAt(i1);sb.append(ch);Rectangle2D bounds2 = metrics.getStringBounds(sb.toString(), null);int tempStrPi1exlWi1dth = (int) bounds2.getWidth();if (tempStrPi1exlWi1dth > width) {tempStrs[j++] = str.substring(tempStart, i1);tempStart = i1;sb.delete(0, sb.length());sb.append(ch);}if (i1 == str.length() - 1) {// 最后一行tempStrs[j] = str.substring(tempStart);}}for (int i = 0; i < tempStrs.length; i++) {g.drawString(tempStrs[i], 5, (fontHeight + 5) * (i + 1));}} else {g.drawString(str, 5, fontHeight);}File outputfile = new File("D:\\云上\\686.png");ImageIO.write(image, "png", outputfile);g.dispose();} catch (IOException e) {e.printStackTrace();}}public static void main(String[] arg) {String str = "最近经常看到大家动不动就在“随着身体的一阵颤抖”,画面感极强此人多半是在尬舞吧!那么到底“随着身体的一阵颤抖”是什么梗,“随着身体的一阵颤抖”的出处在哪,一起来看看吧:......";textToImage(str);}}

Java文字转图片超出内容自动换行相关推荐

  1. java 文字转图片且居中

    //文字转图片 public static void createImage(String str, Font font, File outFile,Integer width, Integer he ...

  2. html图片超出内容隐藏,图片按比例缩小,溢出超出DIV边框的内容自动隐藏方法!...

    这几天在学习百度搜索结果出现缩略图的方法,百度PC的缩略图比例:121:75,我的文章列表页的比例为121:54,比例相差太大,所以最近的文章缩略图基本没有. 而如果将列表图片改为121:75比例后, ...

  3. java设置窗体不透明的函数_透明窗口(窗口上面文字图片等内容不透明)的实现(使用SetLayeredWindowAttributes API函数)...

    透明窗口(窗口上面文字图片等内容不透明)的实现 本文讨论通过SetLayeredWindowAttributes来实现本文的目的. SetLayeredWindowAttributes的实现必须将窗口 ...

  4. java pdf工具类_Java PDF工具类(一)| 使用 itextpdf 根据PDF模板生成PDF(文字和图片)...

    Java PDF工具类(一)| 使用 itextpdf 根据设置好的PDF模板填充PDF(文字和图片) 相关文章: Java PDF工具类(二)| 使用 wkhtmltox 实现 HTML转PDF(文 ...

  5. Java实现可换行文字转图片

    文章目录 需求来源 需求分析 效果展示 代码展示 后期功能 需求来源 由于微信公众号无法直接复制别人的文章转发,因为会被检测认为是相同的原创文章,所以很多公众号运营者就想到把文字转成图片来发文,这样系 ...

  6. java操作word文档(文字,图片,表格添加以及替换操作)

    注:本文由于个人工作需要,有对多个他人博文进行借鉴,但是多数博文都只是讲到了小部分,例如图片/表格的操作,都只有根据书签进行替换,比较片面,本人有总结到根据文字进行图片/表格的替换,希望可以帮到更多有 ...

  7. 手把手教你如何通过Java给图片添加文字和图片水印

    本文首发于个人网站 前言 最近工作上有个需求,动态生成一张图片,具体来说就是基于模版图片动态添加文字和图片(文字内容不同,图片数目不同),其中文字大小不全一样,且对位置有所要求. 本文将剖析多个技术方 ...

  8. java提取word中的图片_Java怎么获取Word批注的文字和图片

    Java怎么获取Word批注的文字和图片 发布时间:2020-06-23 11:07:08 来源:亿速云 阅读:119 作者:Leah 这篇文章将为大家详细讲解有关Java获取Word批注的文字和图片 ...

  9. java 图片添加水印(文字水印+图片水印)

    一.图片水印(水印文件覆盖到源文件上) /*** @param buffImg 源文件(BufferedImage)* @param waterImg 水印文件(BufferedImage)* @pa ...

  10. css文字超出宽度自动换行

    CSS文字超出宽度自动换行[转] word-wrap:break-word; word-break:break-all; overflow: hidden;/*这个参数根据需求来决定要不要*/ 目录 ...

最新文章

  1. APT 信息收集——shodan.io ,fofa.so、 MX 及 邮件。mx记录查询。censys.io查询子域名。...
  2. PHP CURL 中文说明
  3. 复习笔记(六)——C++运算符重载(难点)
  4. JSTL标签库中fmt标签,日期,数字的格式化
  5. 电池成本涨幅“离谱” 新能源车企涨声一片
  6. GitHub 日收 12,000 星,微软新命令行工具引爆程序员圈!
  7. 十几款应用广泛的第三方URL解析库被曝8个漏洞
  8. 苹果公司的企业文化_标志设计对于企业的重要性,性价比高的标志设计公司分享...
  9. 暴风陨落,再无影音​
  10. linux 编译安装libpng,交叉编译libpng以及zlib开源库
  11. SPSS——总体均数的估计及假设检验(t 检验)
  12. 【科研绘图】沐风老师3DMAX极小曲面建模教程
  13. 有限元二阶拉格朗日插值函数理论
  14. Typora Beta版过期解决方法
  15. 派工单系统 源码_青鸟报修云酒店设备报修管理系统
  16. 电感和磁珠有哪些区别?
  17. 处理7z格式的001 002 文件
  18. 一个程序员的平凡日常
  19. 《东周列国志》第三十九回 柳下惠授词却敌 晋文公伐卫破曹
  20. easy-captcha实现验证码功能

热门文章

  1. 2022微软苏州Software Engineer校招暑期实习生一面
  2. 物联网--解决ESP8266与电脑串口通讯
  3. java使用pdfbox拆分PDF文件
  4. 2022年生鲜行业发展趋势
  5. [转载] 使用Bugzilla,你肯定会遇到的坑。
  6. w7计算机不显示移动硬盘,Win7移动硬盘在电脑上不显示盘符的解决办法
  7. Range Coder编码比特流
  8. python3分解质因数_python3 分解质因数
  9. idm integration module(idm) Chrome插件 安装
  10. 2020年4月github上最热门项目-python