我有一个看起来像这样的课程:
class Game {
private IntBuffer GameBuffer = null;
public Game(int Width, int Height) {
GameBuffer = ByteBuffer.allocateDirect(Width * Height * 4).order(ByteOrder.LITTLE_ENDIAN).asIntBuffer();
}
public BufferedImage getGameBuffer() {
return this.GameBuffer; //Need to return my GameBuffer without making a copy.
}
}
如何返回我的GameBuffer,使其成为BufferedImage,而不是GameBuffer的副本。
换句话说,当我打电话时:
Canvas.draw(GameInstance.getGameBuffer()); //Uses Graphics g.drawImage(...);
它会在我的GameBuffer上绘制,而不是副本。我怎样才能做到这一点?我需要使用Int / Byte-Buffer,因为我需要它用于我的JNI函数。