我有以下java代码
final byte[] pixels;
DataBuffer rasterData = image.getRaster().getDataBuffer();
DataBufferByte rasterByteData = (DataBufferByte)rasterData;
pixels = rasterByteData.getData();
其中 image 是 type 的对象BufferedImage
,我希望将其转换Image
为DataBufferByte
对象,但我的演员抛出以下错误。
java.lang.ClassCastException:java.awt.image.DataBufferInt 无法转换为 java.awt.image.DataBufferByte
我正在尝试使用这篇文章Java 中的代码 - 从图像中获取像素数组
任何想法如何投射或为什么我不能从DataBuffer
to投射DataBufferByte
?
编辑:更改Image
为BufferedImage