Javafx-images
JavaFX-画像
パッケージ javafx.scene.image でJavaFXが提供するクラスを使用して、イメージをロードおよび変更できます。 JavaFXは、 Bmp、Gif、Jpeg、Png などの画像形式をサポートしています。
この章では、画像をJavaFXにロードする方法、画像を複数のビューに投影する方法、画像のピクセルを変更する方法について説明します。
画像の読み込み
パッケージ javafx.scene.image の Image という名前のクラスをインスタンス化することにより、JavaFXにイメージをロードできます。
クラスのコンストラクタに、次のいずれかを渡す必要があります-
- ロードする画像の InputStream オブジェクト、または
- 画像のURLを保持する文字列変数。
画像をロードした後、 ImageView クラスをインスタンス化し、次のようにそのコンストラクタに画像を渡すことにより、画像のビューを設定することができます-
例
以下は、JavaFXで画像をロードし、ビューを設定する方法を示す例です。
このコードを ImageExample.java という名前のファイルに保存します。
次のコマンドを使用して、コマンドプロンプトから保存したJavaファイルをコンパイルして実行します。
実行すると、上記のプログラムは次のようにJavaFXウィンドウを生成します-
画像の複数のビュー
同じシーンの画像に複数のビューを設定することもできます。 次のプログラムは、JavaFXのシーン内の画像にさまざまなビューを設定する方法を示す例です。
このコードを MultipleViews.java という名前のファイルに保存します。
次のコマンドを使用して、コマンドプロンプトから保存したJavaファイルをコンパイルして実行します。
実行すると、上記のプログラムは次のようにJavaFXウィンドウを生成します-
ピクセルを書く
JavaFXは、画像のピクセルを読み書きするための PixelReader および PixelWriter クラスという名前のクラスを提供します。 WritableImage クラスは、書き込み可能なイメージを作成するために使用されます。
以下は、画像のピクセルを読み書きする方法を示す例です。 ここでは、画像の色の値を読み取り、それを暗くしています。
このコードを WritingPixelsExample.java という名前のファイルに保存します。
次のコマンドを使用して、コマンドプロンプトから保存したJavaファイルをコンパイルして実行します。
実行すると、上記のプログラムは次のようにJavaFXウィンドウを生成します-