Понятно, тогда я неправильно понял вопрос; Я тоже с нетерпением жду ответа, выглядит полезным.

я есть большой компонент свинга для записи в TIFF. Компонент слишком велик для загрузки TIFF в память, поэтому мне нужно либо создать большой BufferedImage, который поддерживается на основе WritableRaster на основе диска (как уже упоминалосьВот) или используйте JAI.

JAI кажется лучшим ответом, кроме полной путаницы в проекте.

Учитывая это, кто-то может наметить шаги для записи моего компонента Swing в мозаичный TIFF без исчерпания памяти?

Размер изображения может быть 10000x700

В идеале я хотел бы создать какой-нибудь образ на основе диска и записать на него части компонента, каждая запись будет записана на диск.

РЕДАКТИРОВАТЬ

Я думаю, что я мог бы сделать это с ImageWriter, однако я получаю NoSuchElementException, когда я вызываю:

ImageWriter imageWriter = ImageIO.getImageWritersByFormatName("tif").next();

У меня есть jai_code.jar и jai_core.jar jar на моем classpath, есть ли что-то еще, что я должен сделать?

РЕДАКТИРОВАТЬ Я могу создать очень большой TIFF с использованием JAI, но JAI не поддерживает сжатие TIFF, поэтому размер файла составляет 92 МБ.

Если я установлю JAI-ImageIO, я могу создать сжатый TIFF с помощью ImageWriter, но только из растра или BufferedImage, для которого у меня недостаточно памяти.

Есть ли какой-нибудь способ сделать двухэтапный подход, использовать JAI для создания большого TIFF, а затем сжать большой TIFF, не загружая все это в память?

Ответы на вопрос(2)

Ваш ответ на вопрос