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.

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top