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