返回

字节流和图片相互转换,简单几步即可搞定!

人工智能


前言

在日常开发中,我们经常会遇到图片与字节流之间的转换需求,如将图片上传至服务器、将图片保存到数据库等。本文将详细介绍如何将字节流转换为图片和将图片转换为字节流的具体实现步骤,便于读者掌握字节流和图片转换的技巧,提升编程技能。

一、将字节流转换为图片

1. Python实现

from io import BytesIO
from PIL import Image

def convert_bytes_to_image(bytes_data):
    image = Image.open(BytesIO(bytes_data))
    return image

2. Java实现

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;

public class BytesToImageConverter {

    public static BufferedImage convertBytesToImage(byte[] bytes) {
        try {
            ByteArrayInputStream bis = new ByteArrayInputStream(bytes);
            BufferedImage image = ImageIO.read(bis);
            return image;
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
}

二、将图片转换为字节流

1. Python实现

from io import BytesIO
from PIL import Image

def convert_image_to_bytes(image):
    image_bytes = BytesIO()
    image.save(image_bytes, format='PNG')
    return image_bytes.getvalue()

2. Java实现

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;

public class ImageToBytesConverter {

    public static byte[] convertImageToBytes(BufferedImage image) {
        try {
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            ImageIO.write(image, "PNG", baos);
            return baos.toByteArray();
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
}

结语

本文详细介绍了如何将字节流转换为图片和将图片转换为字节流的具体实现步骤,希望对读者有所帮助。在实际应用中,读者可以根据自己的需要选择合适的语言和工具来完成转换操作。