1

我正在创建一个在 Java 中编辑 SNES GFX 文件的程序,我通过将字节数组绘制到 a 来将数据绘制到屏幕上BufferedImage,然后将其绘制到屏幕上。问题是,我希望能够编辑图像。由于我不想每次都重新绘制整个图像,所以我使用BufferedImage.createGraphics()绘制到屏幕的同时更新数据byte[]

这在绘制矩形时非常容易,因为我可以手动重新创建需要在我的自定义数据数组中更新的像素,如下所示:

for (int i = rect.x; i < rect.x + rect.width + 1; i++) {
    for (int j = rect.y; j < rect.y + rect.height + 1; j++) {
        panel.setPixelColor(new Point(i, j), palette.getCurrentColor());
    }
}

但是,我不知道如何绘制椭圆。我希望能够只使用Graphics.drawOval(),但我不知道是否有办法遍历修改后的像素以查找我需要更新的值。显然,我可以使用自定义的椭圆绘图算法,但不必重新发明轮子真是太好了。

4

0 回答 0