Перейти к контенту

Конвертация изображения в байтовый массив в Java и наоборот

Java предоставляет класс ImageIO для чтения и записи изображения. Для того, чтобы преобразовать изображение в массив байтов в Java —

  • Прочитайте изображение, используя метод read() класса ImageIO.
  • Создайте объект ByteArrayOutputStream.
  • Запишите изображение в созданный выше объект ByteArrayOutputStream, используя метод write () класса ImageIO.
  • И преобразуйте содержимое ByteArrayOutputStream в массив байтов с использованием метода toByteArray().

Пример конвертации

import java.io.ByteArrayOutputStream;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
public class ImageToByteArray {
   public static void main(String args[]) throws Exception{
      BufferedImage bImage = ImageIO.read(new File("sample.jpg"));
      ByteArrayOutputStream bos = new ByteArrayOutputStream();
      ImageIO.write(bImage, "jpg", bos );
      byte [] data = bos.toByteArray();
   }
}

Как преобразовать массив байтов в изображение в Java?

Java предоставляет класс ImageIO для чтения и записи изображения. Для того, чтобы преобразовать массив байтов в изображение на Java.

 

  • Создайте объект ByteArrayInputStream, передав байтовый массив (который должен быть преобразован) в его конструктор.
  • Прочитайте изображение, используя метод read() класса ImageIO (передав ему объекты ByteArrayInputStream в качестве параметра).
  • Наконец, запишите изображение, используя метод write() класса ImageIo.

Пример

import java.io.ByteArrayOutputStream;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
public class ByteArrayToImage {
   public static void main(String args[]) throws Exception {
      BufferedImage bImage = ImageIO.read(new File("sample.jpg"));
      ByteArrayOutputStream bos = new ByteArrayOutputStream();
      ImageIO.write(bImage, "jpg", bos );
      byte [] data = bos.toByteArray();
      ByteArrayInputStream bis = new ByteArrayInputStream(data);
      BufferedImage bImage2 = ImageIO.read(bis);
      ImageIO.write(bImage2, "jpg", new File("output.jpg") );
      System.out.println("image created");
   }
}

Оцени статью

Средняя оценка / 5. Количество голосов:

Спасибо, помогите другим - напишите комментарий, добавьте информации к статье.

Или поделись статьей

Видим, что вы не нашли ответ на свой вопрос.

Помогите улучшить статью.

 

Пока нет комментариев.

Добавить комментарий

Ваш e-mail не будет опубликован.

СайдбарКомментарии (0)