java PGM 2 jpeg / PNG
Pergunta
I têm uma matriz int contendo valores da escala de cinzentos 0-254, i também têm a x e y tamanho da imagem. É uma coisa fácil de criar uma imagem PGM, mas eu quero para exibi-lo em um jsp, então eu preciso de alguma forma para o converter para um JPEG ou PNG. Se você sugerir jai, do que por favor me diga a que classes para olhar, ou como realmente fazê-lo em jai. Muito obrigado, com antecedência.
Solução
Talvez ignorar a PGM inteiramente?
int[] myImage = getGreyscaleIntArray();
BufferedImage im = new BufferedImage(width,height,BufferedImage.TYPE_BYTE_GRAY);
WritableRaster raster = im.getRaster();
for(int h=0;h<height;h++)
{
for(int w=0;w<width;w++)
{
raster.setSample(w,h,0, myImage[h * width + w]);
}
}
ByteArrayOutputStream myJpg = new ByteArrayOutputStream();
javax.imageio.ImageIO.write(im, "jpg", myJpg);
JAI ImageIO api , especificamente o ImageIO classe de utilidade
Exemplo de WriteableRaster de a Imagem Java processamento livro de receitas
Outras dicas
ImageMagick funciona bem para converter imagens e JMagick fornece uma interface para chamar diretamente de programas Java.