java pgm 2 jpeg/png

标签 java png jpeg jai pgm

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

最佳答案

也许完全跳过 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

WriteableRaster 示例来自 the Java Image Processing cookbook

关于java pgm 2 jpeg/png,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1251329/

相关文章:

python-2.7 - IOError : encoder jpeg not available on OS X 10. 10

java - HQL 中命名参数的第二次替换失败

r - 如何在R中将html输出捕获为png

swift - 将 EXIF 数据保存为 JPEG - Swift

android - Android中png图像的特定旋转

canvas - 给定特定尺寸的最大潜在 PNG 尺寸

pdf - 如何运行imagemagick将多个PDF文件仅第一页批量转换为JPEG?

java - 我试图仅在该记录尚不存在但无法正常工作时才将新记录插入数据库

Android 应用程序开发中的 Java 与 native 编码

java - 在 Java 的线程中使用 PreparedStatements 是否正确?