通常、Java では、ネイティブImage
型を操作し、派生したグラフィックスを使用する方が簡単です。バックグラウンドでJava も blit を使用するため、ワークロードを軽減するために高レベルの抽象化が行われます。
ただし、ピクセル データを抽象化する方法がない場合は、ソリューションの代わりにRasterおよびWritableRaster (配列の一部を置き換えることができる場所) を使用できます。これらのラスターは、言及した drawImage メソッドを使用して描画できるBufferedImageで使用できます。ここで、基本的に画像を作成し、後で操作するためにラスターを取得する1 つの方法を見つけました。
int x, y = 100;
BufferedImage image = new BufferedImage(x, y, BufferedImage.TYPE_INT_RGB);
WritableRaster raster = image.getRaster();
その後、そのラスター (またはそのごく一部) を操作して再描画できます。
ピクセル配列から画面までの距離が短くなるため、これによりパフォーマンスがわずかに向上する可能性があります。しかし、AWT api の深さ全体を完全に理解している人はほとんどいないと思います。もちろん、それはすべてネイティブ実装に依存しています。そのため、私の考えには推測の健全な部分が含まれています ;-) でも、お役に立てば幸いです..