Compnent.createImage(int,int)

今後は技術の話もちょくちょくしたいと思います。


バックグラウンドイメージを作成するのにcreateImageを用いているわけですが、これは画面と同じ設定でImageを作成するようです。16ビットカラーと32ビットカラーでは同じ大きさの画像を作成しても、使用するメモリの量に違いが出てきます。javaの使えるメモリの上限は決まっているので、画面の色数によって作成できる問題の面積の上限が変わってきます。(前回の問題は32ビットでも表示できるようになりました。おそらく倍の大きさの場合、16ビットカラーの場合OK、32ビットカラーだとエラー)
へやわけアプレットの場合、バックグラウンドイメージの色数は32ビットどころか256色でも十分なのでできるならば色数を抑えたいところなのですが、JDK1.1の段階ではオフスクリーンで書き換えられるImageに色数を指定したものを作成するのがかなりの手間がかかりそうだとわかったのであきらめることにしました。
JDK1.2以降だったらBufferedImage使えば一発なんですけどね。