Escriba el componente de oscilación en una imagen TIFF grande utilizando JAI
Tengo un gran componente de swing para escribir en TIFF. El componente es demasiado grande para cargar el TIFF en la memoria, por lo que necesito hacer una imagen Buffered grande respaldada por un WritableRaster basado en disco (como se mencionó enaqu) o use JAI.
JAI parece ser la mejor respuesta, aparte de la confusión total del proyecto.
Dado eso, ¿alguien puede describir los pasos para escribir mi componente swing en un TIFF en mosaico sin quedarse sin memoria?
El tamaño de la imagen será quizás de 10000x700
dealmente, crearía algún tipo de imagen basada en disco y escribiría partes del componente en él, cada escritura se enjuagaría en el disco.
EDITA
Creo que podría hacer esto con un ImageWriter, sin embargo, obtengo una NoSuchElementException cuando llamo:
ImageWriter imageWriter = ImageIO.getImageWritersByFormatName("tif").next();
Tengo los frascos jai_code.jar y jai_core.jar en mi classpath, ¿hay algo más que deba hacer?
EDITA Puedo crear un TIFF muy grande usando JAI, pero JAI no admite la compresión TIFF, por lo que el archivo tiene 92 MB.
Si instalo JAI-ImageIO, puedo crear un TIFF comprimido usando un ImageWriter, pero solo desde un Raster o BufferedImage, para el cual no tengo suficiente memoria.
¿Hay alguna forma de hacer un enfoque de dos pasos, use JAI para crear el TIFF grande y luego comprima el TIFF grande sin cargar todo en la memoria?