Estou trabalhando com a biblioteca JAI, eu consigo ler o arquivo(.tif) e criar um visualizador para ele…
[quote]package com.gempi.paulo.main;
import java.awt.Frame;
import java.awt.image.DataBuffer;
import java.awt.image.renderable.ParameterBlock;
import java.io.IOException;
import javax.media.jai.JAI;
import javax.media.jai.LookupTableJAI;
import javax.media.jai.RenderedOp;
import com.sun.media.jai.codec.FileSeekableStream;
import com.sun.media.jai.codec.TIFFDecodeParam;
import java.io.File;
import javax.media.jai.widget.ScrollingImagePanel;
public class LookupSampleProgram {
public static void main(String[] args)
{
File file = new File("D:\\Shapes_LFPR\\Lote 02\\naturatins1.tif");
FileSeekableStream stream = null;
try
{
stream = new FileSeekableStream(file);
} catch (IOException e)
{
e.printStackTrace();
System.exit(0);
}
ParameterBlock params = new ParameterBlock();
params.add(stream);
TIFFDecodeParam decodeParam = new TIFFDecodeParam();
decodeParam.setDecodePaletteAsShorts(true);
RenderedOp image1 = JAI.create("tiff", params, null);
int dataType = image1.getSampleModel().getDataType();
RenderedOp image2 = null;
if (dataType == DataBuffer.TYPE_BYTE)
{
System.out.println("TIFF image is type byte.");
image2 = image1;
} else
{
System.out.println("TIFF image is type " + dataType +
", and will not be displayed.");
System.exit(0);
}
int width = image2.getWidth();
int height = image2.getHeight();
ScrollingImagePanel panel = new ScrollingImagePanel(image2, width, height);
Frame window = new Frame("Lookup Sample Program");
window.add(panel);
window.pack();
window.show();
}
}
[/quote]
mas oque eu preciso é converter essa imagem para o tipo binario dela, que seria byte[], para poder converter para outros formatos ou mesmo enviar os dados para o banco…Pelo oque eu achei na internet eu precisaria fazer alguma coisa com outputstream e depois esse objeto out.toArrayByte() eu acho… mas com a biblioteca JAI não estou conseguindo criar esse array de bytes…alguem ja fez isso alguma vez???
Grato