私はいくつかの 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);
ただし、コンテンツを から に書き込む必要がありspritePixels
、pixels
次の式に困惑しています。
の高さと幅spriteImage
が常に 未満でありimage
、常に位置 0,0 に描画すると仮定すると、数式は次のようになると思います。
for (int spriteIndex = 0; spriteIndex < spritePixels.length; spriteIndex ++)
pixels[spriteIndex + offset] = spritePixels[x];
ただし、オフセットの計算方法がわかりません。ここで、式は何ですか?