将java.awt.Image对象转换为字节数组(`byte []`)

问题描述 投票:1回答:1

如果手头有java.awt.Image对象,如何获得图像数据的字节数组?


如果我有子类java.awt.Image,我可以这样做:

BufferedImage

…[BufferedImage取一个ByteArrayOutputStream baos = new ByteArrayOutputStream() ; ImageIO.write( thumbnail , "jpeg" , baos ) ; baos.flush(); final byte[] bytes = baos.toByteArray() ; —由ImageIO.write实现但不是其超类ImageIO.write实现的接口。

[不幸的是,我没有RenderedImageRenderedImage。在原始BufferedImage对象上调用java.awt.Image以获取缩小的BufferedImage图像后,手边只有一个BufferedImage对象。我试图在RenderedImage对象中获取数据的字节数组。

java arrays image javax.imageio
1个回答
0
投票

您可以创建一个新的RenderedImage对象,然后通过在其上调用getScaledInstance来获取其图形对象,然后使用该图形对象上的getScaledInstance将图像绘制到其中,然后将BufferedImage转换为PNG或JPG。

© www.soinside.com 2019 - 2024. All rights reserved.