我试图将一个缓冲图像转换为 ByteBuffer 但是出现了异常。
java.awt.image.DataBufferInt cannot be cast to java.awt.image.DataBufferByte
有人能帮我推荐一个好的转换方法吗?
来源:
public static ByteBuffer convertImageData(BufferedImage bi)
{
byte[] pixelData = ((DataBufferByte) bi.getRaster().getDataBuffer()).getData();
// return ByteBuffer.wrap(pixelData);
ByteBuffer buf = ByteBuffer.allocateDirect(pixelData.length);
buf.order(ByteOrder.nativeOrder());
buf.put(pixelData);
buf.flip();
return buf;
}
这是我的对象
ByteBuffer buf = convertImageData(image);