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

时间:2013-07-08 20:04:49

标签: java image swing text graphics

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

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

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

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

有没有人知道用Java做到这一点的方法?

谢谢!

2 个答案:

答案 0 :(得分:2)

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

image

答案 1 :(得分:2)

您可以使用包含HTML的标签作为换行符,如here所示。

要获得该图像,请参阅LabelRenderTest