我需要从BufferedImage获取像素数据,以便我可以从数据中重新创建图像。我调查了Raster
,但这似乎并不包含我需要的信息。如何从BufferedImage
获取数据,以便我可以在不需要原始文件的情况下重新创建图像?
答案 0 :(得分:0)
您应该查看此问题的答案
Java - get pixel array from image
一种方法是使用
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(originalImage, "jpg", baos);
baos.flush();
byte[] imageBytes = baos.toByteArray();
baos.close();
现在,当您要根据使用的数据创建新的BufferedImage
ByteArrayInputStream bais = new ByteArrayInputStream(imageBytes);
BufferedImage newImage = null;
try {
newImage = ImageIO.read(bais);
} catch (IOException e) {
// handle exception
}