В этой статье показано, как преобразовать байт[]
в Буферизованное изображение
на 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/”