使用未知行数的文本创建图像
我想将一串文本转换为图像。 问题是,如果文本比图像的长度宽,我想要文本换行,并且图像的高度要动态resize以完全适合文本,这样我就知道文本占用了多少空间。
我在Java工作,我尝试了几件事:
-
在JPanel中呈现HTML并保存为BufferedImage。 这里的问题是我使用的大多数css被JPanel忽略,图像无法使用。
-
使用ImageMagick和img4Java。 这个解决方案的两大失败是我需要安装命令行工具,这是我在服务器上无法做到的。 第二个是我无法轻松将图像转换为缓冲图像,以便在应用程序的其余部分中使用。
有没有人知道在Java中这样做的方法?
谢谢!
在此示例中 ,任意面板将呈现为BufferedImage
并以半比例显示在相邻面板中。 该示例使用标签网格,但您可以使用JTextArea
的环绕function或TextLayout
提供的几何体, 在此处进行检查。
您可以使用包含HTML的标签进行换行,如下所示。
要获得该图像,请参阅LabelRenderTest
。