1

私はいくつかの Java2D チュートリアルに従っており、現在、キャンバスに単純な PNG を描画しようとしています。

を作成し、BufferedImageでピクセル データを取得しますpixels = ((DataBufferInt) image.getRaster().getDataBuffer()).getData();

次に、同様の方法で PNG を読み込みます。

spriteImage = ImageIO.read(Shape.class.getResourceAsStream(path));
width = spriteImage .getWidth();
height = spriteImage .getHeight();
spritePixels = spriteImage .getRGB(0, 0, width, height, null, 0, width);

ただし、コンテンツを から に書き込む必要がありspritePixelspixels次の式に困惑しています。

の高さと幅spriteImageが常に 未満でありimage、常に位置 0,0 に描画すると仮定すると、数式は次のようになると思います。

for (int spriteIndex = 0; spriteIndex < spritePixels.length; spriteIndex ++)
  pixels[spriteIndex + offset] = spritePixels[x];

ただし、オフセットの計算方法がわかりません。ここで、式は何ですか?

4

1 に答える 1