Como eu posso verificar o tamanho de uma imagem tiff, sem necessariamente cria-la, pq no metodo que le a imagem, so é convertido o File para um byte[] e no proximo metodo é passado os bytes mais as dimensoes da imagem width e height....so não estou conseguindo recuperar as dimensoes....
eu crio os bytes assim
Filefile=newFile(path+".tif");byte[][]images=newbyte[1][];FileInputStreamfis=newFileInputStream(file);FileChannelfc=fis.getChannel();longlen=fc.size();if(len>Integer.MAX_VALUE)thrownewException("The file is too big");byte[]dataFile=newbyte[(int)len];ByteBufferbb=ByteBuffer.wrap(dataFile);fc.read(bb);images[0]=dataFile;
É um pouco difícil determinar as dimensões de uma figura em formato TIFF - para ter uma idéia, esse formato suporta N imagens (com tamanhos diferentes ou não) no mesmo arquivo. Provavelmente você terá de selecionar a primeira imagem, e então determinar as dimensões, que é o que provavelmente você precisa.
Veja se no pacote javax.image.* ou então no JAI não existem as rotinas para ler arquivos TIFF - não faça tudo no braço; se quiser fazer isso, leia a documentação do formato TIFF, publicada pela Adobe e pela Microsoft.
H
hideekii
oq preciso é realmente isso, mas o tamanho total…pq eu consigo pegar o tamanho da imagem utilizando o JAI no codigo
mas é lançado um erro somente no jar da aplicação…pq rodando na IDE funciona perfeitamente.
Exception in thread “AWT-EventQueue-0” java.lang.ExceptionInInitializerError
at com.gempi.model.mapdata.ShapefileManipulate.preparaImageTheme(Shapefi
leManipulate.java:427)
O JAI é meio encrencado mesmo para fazer rodar. É que ele, idealmente, deve ser instalado junto com aqueles arquivos que estão em jre/lib/ext. Se ele não estiver lá (você o pôs no lib de sua aplicação J2EE, por exemplo), pode dar esses problemas de inicialização.
H
hideekii
somente as duas libs thingol? jai_core e jai_codec?
H
hideekii
bem, era isso mesmo thingol, coloquei as duas libs na pasta que vc mencionou e funcionou perfeitamente! brigadao