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