使用未知行数的文本创建图像

我想将一串文本转换为图像。 问题是,如果文本比图像的长度宽,我想要文本换行,并且图像的高度要动态resize以完全适合文本,这样我就知道文本占用了多少空间。

我在Java工作,我尝试了几件事:

  • 在JPanel中呈现HTML并保存为BufferedImage。 这里的问题是我使用的大多数css被JPanel忽略,图像无法使用。

  • 使用ImageMagick和img4Java。 这个解决方案的两大失败是我需要安装命令行工具,这是我在服务器上无法做到的。 第二个是我无法轻松将图像转换为缓冲图像,以便在应用程序的其余部分中使用。

有没有人知道在Java中这样做的方法?

谢谢!

在此示例中 ,任意面板将呈现为BufferedImage并以半比例显示在相邻面板中。 该示例使用标签网格,但您可以使用JTextArea环绕function或TextLayout提供的几何体, 在此处进行检查。

图片

您可以使用包含HTML的标签进行换行,如下所示。

要获得该图像,请参阅LabelRenderTest