如何区分创建缓冲图像和使用其像素进行绘制的差异:
private BufferedImage img;
private int[] pixels;
pixels = ((DataBufferInt) img.getRaster().getDataBuffer());
仅使用图像作为
img
变量和使用img的图形:
img.getGraphics().drawImage(/*image*/, x, y, observer);
编辑:
这是关于游戏开发的技术相关内容!
drawImage()
。我喜欢这个答案,因为它提到了dispose()
问题,这很重要。还值得一提的是,直接访问OP中的栅格/数据缓冲区可能会在图像实例的生命周期中禁用软件/硬件优化,因此请小心使用。如果有疑问,请记得进行性能分析。 :-) - Harald K