使用以下方法制作缓冲图像和绘制像素之间有什么区别:
private BufferedImage img;
private int[] pixels;
pixels = ((DataBufferInt) img.getRaster().getDataBuffer());
只需使用图像
img
变量并使用img的图形来执行:
img.getGraphics().drawImage(/*image*/, x, y, observer);
编辑:
这是游戏开发!!
答案 0 :(得分:5)
通过Graphics
方法的优势:
drawImage
下降到像素缓冲级别的优点:
drawImage
等批量操作可能会更慢,因为您没有得到硬件加速度)如果它只是屏幕上的常规游戏渲染,我会说Graphics
路线可能是最好的。如果您正在做一些像现场图像生成这样的事情,那么像素缓冲路径可能值得探索。
答案 1 :(得分:4)
getGraphics()
提供了一种可靠的方法来绘制图像,无论其底层结构如何。 img.getGraphics().drawImage(/*image*/, x, y, observer);
因为这样一旦完成后就不会处理Graphics对象,从而有可能耗尽资源。