1

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

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

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

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

有谁知道在Java中做到这一点的方法?

谢谢!

4

2 回答 2

2

在此示例中,任意面板被渲染为 aBufferedImage并以半比例显示在相邻面板中。该示例使用标签网格,但您可以使用 的wrap功能JTextArea或提供的几何图形,在此处TextLayout进行检查。

图片

于 2013-07-08T23:36:20.910 回答
2

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

要获得该图像,请参阅LabelRenderTest

于 2013-07-09T06:49:16.383 回答