Java 2D
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/03/20 22:24 UTC 版)
最適化
概念的には、Java 2D で黒い直線を描くのは、直線の shape を生成し、現在の transform に従って変換し、stroke によって細長い四角形の shape を生成し、その shape に対してピクセル位置を問合せ、java.awt.Color.BLACK
を使ってピクセルを生成し、composite に従ってそれを画面上に表示するという一連の動作からなる。
しかし、このようなステップを毎回実行するのは効率的でない。Java 2D では、これらのステップを省略できるような最適化を施している。塗りつぶしが単純な単色だった場合、個々のピクセルの色を問い合わせる必要はない。同様に、完全に不透明な重ね合わせの設定なら、composite 操作は不要であり、無駄である。
Java 2D は省略可能な手順は可能な限り省略して、上述の全ステップを実施したのと同じ見た目を生成する。これにより、柔軟性と高速性を両立させている。
出力先
以上の説明は、話を単純にするため、出力先がディスプレイであると仮定していた。しかし、実際の出力先はプリンタでも、メモリでもよいし、Java 2D のコマンドを受け取って解釈しベクターイメージファイルを生成するオブジェクトでもよい。
Java2D と OpenGL の関係
Java SE 6 の build 51 以降、Java 2D と OpenGL の連携が可能となった。例えば、ボタンのアイコンとして3次元グラフィックスのアニメーションを使うこともできる。
関連項目
外部リンク
- Java 2Dのページへのリンク