Java:创建一个图像文件并在其中写入字符串?

时间:2011-10-07 06:34:24

标签: java

您好我想创建一个图像文件并在其中写入字符串。如果图像文件上没有剩余空间来写更多字符串,那么剩下的字符串应该写在下一个图像文件中等等。我可以用Java做到吗?

2 个答案:

答案 0 :(得分:1)

好了,看看这里:http://download.oracle.com/javase/tutorial/2d/images/index.html

这应该解释如何创建图像,向它们绘制文本,然后将它们写入文件。

剩下的就是检测字符串何时(完全?)适合该图像。但是,这取决于字体,字体大小等。为此,请查看此处:http://download.oracle.com/javase/tutorial/2d/text/measuringtext.html

答案 1 :(得分:1)

使用FontMetrics类计算当前Font的高度。像这样:

// g is your Graphics object
Font f = g.getFont();
FontMetrics fm = g.getFontMetrics(f);
int font_height = fm.getHeight()
int linesPerImage = image_height / font_height;

然后在文本中循环,直到没有任何文本行可供绘制。 到达linesPerImage时,保存当前图像并创建一个新图像。 例如,如果您要在名为“lines”的List中绘制字符串列表:

int i = lines.size();
for (int j = 0; j < i, j++) {
  g.drawString(lines.get(j), x, y);
  if (j > 0 && j % linesPerImage == 0) {
    // save current image and create new graphics to draw to
  }
}