有关向Java ImageWriter添加插件的帮助
发布时间:2020-12-15 02:26:36 所属栏目:Java 来源:网络整理
导读:我试图将Buffered Image保存为PNM文件.我已经安装了JAI( Java Advanced Imaging),并导入了PNMWriter插件.但是,我不知道如何将它添加到我的ImageWriter中,因此它可以用.pnm编写.当我运行ImageIO.getWriterFormatNames()来获取可能的格式名称时,只出现标准名称
我试图将Buffered
Image保存为PNM文件.我已经安装了JAI(
Java Advanced Imaging),并导入了PNMWriter插件.但是,我不知道如何将它添加到我的ImageWriter中,因此它可以用.pnm编写.当我运行ImageIO.getWriterFormatNames()来获取可能的格式名称时,只出现标准名称(.png,.bmp,.jpg ….)…
解决方法
我自己为我的软件实现了这个.它只有30行源代码,我不想为可以轻松解决的问题添加Java Advanced Imaging.这是我的解决方案:
public static void write(BufferedImage image,OutputStream stream) throws IOException { /* * Write file header. */ int imageWidth = image.getWidth(); int imageHeight = image.getHeight(); stream.write('P'); stream.write('6'); stream.write('n'); stream.write(Integer.toString(imageWidth).getBytes()); stream.write(' '); stream.write(Integer.toString(imageHeight).getBytes()); stream.write('n'); stream.write(Integer.toString(255).getBytes()); stream.write('n'); /* * Write each row of pixels. */ for (int y = 0; y < imageHeight; y++) { for (int x = 0; x < imageWidth; x++) { int pixel = image.getRGB(x,y); int b = (pixel & 0xff); int g = ((pixel >> 8) & 0xff); int r = ((pixel >> 16) & 0xff); stream.write(r); stream.write(g); stream.write(b); } } stream.flush(); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |