How to convert BufferedImage to byte[] in Java
Often times, you need to convert BufferedImage to byte array in order to store the image into database , or some other purpose. Some conversion is required as follow :
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();
Example
This class will load an image from “c:\\image\\mypic.jpg”, use ImageIO.write to write the BufferedImage into ByteArrayOutputStream object and convert it to byte array.
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class ImageTest {
public static void main(String [] args){
try{
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();
}catch(IOException e){
System.out.println(e.getMessage());
}
}
}
分享到:
相关推荐
当涉及到网络传输或存储时,将图像数据转换为字节数组(byte array)成为了一种实用且高效的手段。下面,我们将深入探讨如何在Java中实现图像数据与字节数组之间的相互转换,并分析这一过程中的关键步骤和技术细节。...
BufferedImage image = ImageIO.read(input); ``` 3. **创建JPEG输出流**:确定输出文件路径,并创建一个`FileOutputStream`对象。然后通过`ImageIO.createImageOutputStream()`方法创建一个JPEG输出流。 ```java ...
`Image`和`BufferedImage`是Java AWT(Abstract Window Toolkit)和Swing库中的两个重要类,它们分别用于处理图像的不同方面。本篇文章将详细探讨如何将`Image`对象转换为`BufferedImage`,以及这样做的原因和好处。...
### Java将图片转换为byte数组及反向转换的知识点总结 #### 一、知识点概述 在Java编程中,经常需要处理图像数据,特别是在网络传输或存储时,将图像转换为`byte`数组是一种常见的做法。这不仅可以提高传输效率,...
public static BufferedImage iplToBufImgData(IplImage ipl,BufferedImage image ) public static IplImage BufImgToIplData(IplImage ipl,BufferedImage bi)
从给定的文件信息来看,我们正在探讨如何使用Java中的`BufferedImage`类来保存图像为BMP(Bitmap)格式的文件。BMP是一种位图文件格式,它以未压缩的形式存储图像数据,使得每像素的颜色信息都能完整无损地保留下来...
在Java编程语言中,`BufferedImage`类是用于创建和操作图像的重要工具。这个类提供了丰富的功能,包括读取、写入、绘制和修改图像。在这个特定的场景中,我们利用`BufferedImage`来实现一个有趣的功能:将四张图片...
本文将深入探讨如何将图片数据读取到`byte[]`数组,并如何合并由多次`InputStream`读取产生的缓冲`byte[]`。这涉及到Java编程语言中的IO流操作以及数据转换。 首先,我们来理解“读取图片数据到byte[]数组”。在...
public BufferedImage bytesToImage(byte[] bytes) throws IOException { ByteArrayInputStream bais = new ByteArrayInputStream(bytes); return ImageIO.read(bais); } ``` **Python中的转换** 1. **Image转...
判断图像通道顺序可以通过BufferedImage的getType()方法来实现,该方法返回图像的类型,例如BufferedImage.TYPE_3BYTE_BGR表示图像为BGR格式,BufferedImage.TYPE_INT_RGB表示图像为RGB格式。 在判断图像通道顺序时...
在Android开发中,有时我们需要对图像进行处理,例如解析JPEG图像并将其转换为BufferedImage对象。BufferedImage是Java AWT库中的一个类,提供了一种更高级别的图像操作接口。在Android环境中,虽然不直接支持AWT库...
int type = BufferedImage.TYPE_BYTE_GRAY; if (src.channels() > 1) { type = BufferedImage.TYPE_3BYTE_BGR; } BufferedImage dst = new BufferedImage(src.width(), src.height(), type); WritableRaster ...
注意替换`/path/to/your/webp/image.webp`和`/path/to/output/png/image.png`为实际的文件路径。 总结,本文详细介绍了如何在Linux环境下利用Java和`luciad/webp-imageio`库实现WebP到PNG的转换。通过这个过程,...
Java 中 ImageReader 和 BufferedImage 获取图片尺寸实例 Java 中获取图片尺寸有多种方法,其中使用 ImageReader 和 BufferedImage 是两种常见的方法。本文将对这两种方法进行详细介绍,并提供相应的代码实现。 ...
public static byte[] writeJPEGBytes(BufferedImage source) { if (null == source) throw new NullPointerException(); ByteArrayOutputStream output = new ByteArrayOutputStream(); JPEGImageEncoder ...
g2d.rotate(Math.toRadians(rand.nextInt(20) - 10), 13 + i * 30, 45); // 绘制文字 g2d.drawString(code.substring(i, i + 1), 13 + i * 30, 45); g2d.setTransform(oldTransform); ``` 通过这些扩展,我们可以...
g2d.rotate(Math.toRadians(180)); // 平移图像到新的(0,0),即旋转中心 g2d.translate(-width / 2, -height / 2); // 绘制并旋转图像 g2d.drawImage(image, 0, 0, null); // 释放资源 g2d.dispose(); /...
这个过程首先加载图片,将其转换为`BufferedImage`,然后利用`ImageIO.write`方法将图片写入`ByteArrayOutputStream`,最终得到byte数组。 值得注意的是,由于J2ME的限制,处理大型图片时可能会遇到性能问题。因此...
在Java中,我们可以使用`java.awt.image.BufferedImage`类来读取和处理图像。首先,我们需要使用`ImageIO.read()`方法从文件中加载图像。然后,遍历图像的每一个像素,将其颜色转换为数字表示。这个过程可以通过获取...
AWT中的`java.awt.image.BufferedImage`类是用于处理图像的核心类,而Swing虽然构建在AWT之上,但提供了更丰富的组件和高级特性。 2. **BufferedImage 类** `BufferedImage`类代表内存中的图像,它允许我们对图像...