1

SNES GFX ファイルを Java で編集するプログラムを作成しています。バイト配列を に描画し、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