Рубрики
Без рубрики

Как преобразовать байт[] в буферизованное изображение в Java

В этой статье показано, как преобразовать “байт[]” в “буферизованное изображение” в Java.

В этой статье показано, как преобразовать байт[] в Буферизованное изображение на Java.

  InputStream is = new ByteArrayInputStream(bytes);
  BufferedImage bi = ImageIO.read(is);

Идея заключается в том, чтобы поместить байт[] в объект ByteArrayInputStream , и мы можем использовать ImageIO.прочитайте , чтобы преобразовать его в буферизованное изображение .

1. Преобразуйте байт[] в буферизованное изображение.

В приведенном ниже примере показано, как преобразовать Буферизованное изображение в байт [] и наоборот.

package com.mkyong.io.image;

import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.*;
import java.nio.file.Path;
import java.nio.file.Paths;

public class ImageUtils {

    public static void main(String[] args) throws IOException {

        Path source = Paths.get("c:\\test\\mkyong.png");
        Path target = Paths.get("c:\\test\\mkyong-new.png");

        BufferedImage bi = ImageIO.read(source.toFile());

        // convert BufferedImage to byte[]
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        ImageIO.write(bi, "png", baos);
        byte[] bytes = baos.toByteArray();

        // convert byte[] back to a BufferedImage
        InputStream is = new ByteArrayInputStream(bytes);
        BufferedImage newBi = ImageIO.read(is);

        // add a text on top on the image, optional, just for fun
        Graphics2D g = newBi.createGraphics();
        g.setFont(new Font("TimesRoman", Font.BOLD, 30));
        g.setColor(Color.BLACK);
        g.drawString("Hello World", 100, 100);

        // save it
        ImageIO.write(newBi, "png", target.toFile());

    }
}

Скачать Исходный Код

$клон git $клон git

$cd java-ввод-вывод

Рекомендации

  • Изображение Javax
  • Преобразование файлов в массивы байтов на Java
  • Как изменить размер изображения в Java

Оригинал: “https://mkyong.com/java/how-to-convert-byte-to-bufferedimage-in-java/”