#java #hadoop #mapreduce
#java #hadoop #mapreduce
Вопрос:
Я считываю изображение через BufferedImage, получаю его значение RGB, теперь для обратной записи изображения вместо использования ImageIO я должен записать изображение в HDFS (распределенная файловая система Hadoop). Теперь у меня есть только один вариант для использования, который использует FSDataOutputStream для записи. Итак, возможно ли преобразовать значения RGB из буферизованного изображения в класс ByteBuffer в Java?? Пожалуйста.Справка
Ответ №1:
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
Комментарии:
1. для чего нужен baos. сброс ();
2. Это работает. И очистите, прочитайте документацию docs.oracle.com/javase/7/docs/api/java/io /…
3. но должен ли вы думать, что метод flush должен быть размещен над методом write.?
4. Я запускаю его и вижу, что это не имеет никакого значения. но я не уверен, что там есть cass, вам это нужно