#java
#java
Вопрос:
Привет, я хочу создать файл изображения и записать в него строки. и если в файле изображения не осталось места для записи дополнительных строк, то оставшиеся строки должны быть записаны в следующий файл изображения и так далее.как я могу это сделать на Java??
Ответ №1:
Что ж, взгляните сюда: http://download.oracle.com/javase/tutorial/2d/images/index.html
Это должно объяснить, как создавать изображения, рисовать на них текст, а затем записывать их в файл.
Что осталось бы обнаружить, когда строка не (полностью?) вписаться в это изображение. Это, однако, зависит от шрифта, размера шрифта и т.д. Для этого посмотрите здесь: http://download.oracle.com/javase/tutorial/2d/text/measuringtext.html
Ответ №2:
Используйте класс FontMetrics для вычисления высоты текущего шрифта. Что-то вроде этого:
// 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, сохраните текущее изображение и создайте новое.
Например, если у вас есть список строк, которые вы хотите отобразить в списке под названием «строки»:
int i = lines.size();
for (int j = 0; j < i, j ) {
g.drawString(lines.get(j), x, y);
if (j > 0 amp;amp; j % linesPerImage == 0) {
// save current image and create new graphics to draw to
}
}