0

我有一个包含 0-254 灰度值的 int 数组,我也有图像的 x 和 y 大小。创建 pgm 图像很容易,但我想在 jsp 中显示它,所以我需要以某种方式将其转换为 jpeg 或 png 图像。如果您建议 jai,请告诉我要查看哪些课程,或者如何在 jai 中实际操作。非常感谢,提前。

4

2 回答 2

2

也许完全跳过 PGM?

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,特别是ImageIO 实用程序类

Java 图像处理手册中的WriteableRaster 示例

于 2009-08-09T13:24:17.220 回答
0

ImageMagick非常适合转换图像,而Jmagick提供了一个直接从 java 程序调用的接口。

于 2009-08-09T13:27:17.090 回答