我正在尝试使用包含十六进制数字格式的颜色的数组来绘制一个自行创建的“图像”(很可能是我认为的缓冲图像)。我说的是全屏,意思是大约 1600x900 像素。我以多种方式成功地进行了这次尝试,例如:
public void paintComponent(Graphics g)
{
super.paintComponent(g);
Graphics2D g2 = (Graphics2D)g;
preRenderedImage.setRGB(0,0, width, height, graphiscHandler.colourArray, 0, width);
g2.drawImage(preRenderedImage,0,0,width,height,this);
}
我发现有用的另一种方法是直接创建 bufferedImage 而不是颜色数组。使用 bufferedImage.setRGB(x,y,colour) 并在最后绘制它。
然而,这两种方式都非常慢,例如第一种方式并没有给我更多的 20 fps。
有没有人有更好的方法来解决这个问题?
提前致谢。