我有一个int数组,包含从0到254的灰度值,我还有图像的x和y大小。创建pgm图像是一件很容易的事情,但我想在jsp中显示它,所以我需要以某种方式将它转换为jpeg或png图像。如果你建议jai,那么请告诉我应该看哪些类,或者如何在jai中实际做到这一点。非常感谢,在此之前。
发布于 2009-08-09 13:24:17
也许完全跳过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 utility class
来自the Java Image Processing cookbook的WriteableRaster示例
发布于 2009-08-09 13:27:17
ImageMagick可以很好地转换图像,而Jmagick提供了一个可以直接从java程序调用的接口。
https://stackoverflow.com/questions/1251329
复制相似问题