Java: создать файл изображения и записать в него строки?

#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
  }
}