将BufferedImage或ImageIO转换为ByteBuffer

时间:2014-07-07 13:10:35

标签: java hadoop mapreduce

我通过BufferedImage读取图像获取其RGB值,现在用于写回图像,而不是使用ImageIO,我必须在HDFS(Hadoop分布式文件系统)中编写图像。现在我只有一个选项可供使用       要写FSDataOutputStream。 那么是否有可能在Java中将RGB值从缓冲图像转换为ByteBuffer类?请帮助

1 个答案:

答案 0 :(得分:3)

BufferedImage originalImage = ImageIO.read(new File("c:\\image\\mypic.jpg"));
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write( originalImage, "jpg", baos );
baos.flush();
byte[] imageInByte = baos.toByteArray();
baos.close();
ByteBuffer buf = ByteBuffer.wrap(imageInByte);

来源:http://jaypthakkar.blogspot.de/2014/01/convert-bufferedimage-to-bytebuffer.html