- java.lang.Object
-
- javafx.scene.image.PixelFormat<T>
-
- 直系の既知のサブクラス:
WritablePixelFormat
public abstract class PixelFormat<T extends Buffer> extends Object
PixelFormat
オブジェクトでは、特定のフォーマットのピクセルについてデータのレイアウトを定義します。- 導入されたバージョン:
- JavaFX 2.2
-
-
ネストされたクラスのサマリー
ネストされたクラス 修飾子と型 クラス 説明 static class
PixelFormat.Type
PixelFormat
によって管理される単一ピクセルの配列内格納形式を記述する列挙。
-
メソッドのサマリー
すべてのメソッド staticメソッド インスタンス・メソッド 抽象メソッド 具象メソッド 修飾子と型 メソッド 説明 static PixelFormat<ByteBuffer>
createByteIndexedInstance(int[] colors)
ピクセル・レイアウトを記述するPixelFormat
インスタンスを作成します。ここには、指定された参照表(INT_ARGB
フォーマットのあらかじめ乗算されていない色値からなる)のインデックスを表す1バイトとしてピクセルが格納されます。static PixelFormat<ByteBuffer>
createByteIndexedPremultipliedInstance(int[] colors)
ピクセル・レイアウトを記述するPixelFormat
インスタンスを作成します。ここには、指定された参照表(INT_ARGB_PRE
フォーマットのあらかじめ乗算された色値からなる)のインデックスを表す1バイトとしてピクセルが格納されます。abstract int
getArgb(T buf, int x, int y, int scanlineStride)
バッファの指定された座標からピクセル・データを読み取り、それをINT_ARGB
フォーマットの色の32ビット整数表現に変換します。static WritablePixelFormat<ByteBuffer>
getByteBgraInstance()
連続するバイトにピクセルが格納されたピクセル・レイアウトを記述する、WritablePixelFormat
インスタンスを返します。ここには、あらかじめ乗算されていない成分が、インデックスの小さい順(青、緑、赤、アルファ)に格納されます。static WritablePixelFormat<ByteBuffer>
getByteBgraPreInstance()
連続するバイトにピクセルが格納されたピクセル・レイアウトを記述する、WritablePixelFormat
インスタンスを返します。ここには、あらかじめ乗算された成分が、インデックスの小さい順(青、緑、赤、アルファ)に格納されます。static PixelFormat<ByteBuffer>
getByteRgbInstance()
連続するバイトにピクセルが格納されたピクセル・レイアウトを記述する、PixelFormat
インスタンスを返します。ここには、色成分が、インデックスの小さい順(赤、緑、青)に格納されます。static WritablePixelFormat<IntBuffer>
getIntArgbInstance()
ピクセルが32ビット整数に格納されたピクセル・レイアウトを記述する、WritablePixelFormat
インスタンスを返します。ここには、あらかじめ乗算されていない成分が、MSbからLSbの順序(アルファ、赤、緑、青)で格納されます。static WritablePixelFormat<IntBuffer>
getIntArgbPreInstance()
ピクセルが32ビット整数に格納されたピクセル・レイアウトを記述する、WritablePixelFormat
インスタンスを返します。ここには、あらかじめ乗算された成分が、MSbからLSbの順序(アルファ、赤、緑、青)で格納されます。PixelFormat.Type
getType()
このPixelFormat
オブジェクトによって管理されるピクセルの格納形式を表す列挙を返します。abstract boolean
isPremultiplied()
より効率的にブレンド計算を行うために、このフォーマットでデコード(またはエンコード)された色成分がアルファ成分によってあらかじめ乗算されている場合にtrueを返します。abstract boolean
isWritable()
このPixelFormat
オブジェクトが色情報をピクセル表現に変換できる場合にtrueを返します。
-
-
-
メソッドの詳細
-
getIntArgbInstance
public static WritablePixelFormat<IntBuffer> getIntArgbInstance()
ピクセルが32ビット整数に格納されたピクセル・レイアウトを記述する、WritablePixelFormat
インスタンスを返します。ここには、あらかじめ乗算されていない成分が、MSbからLSbの順序(アルファ、赤、緑、青)で格納されます。このフォーマットのピクセルは、次のサンプル・コードを使用してデコードできます。
int pixel = array[rowstart + x]; int alpha = ((pixel >> 24) & 0xff); int red = ((pixel >> 16) & 0xff); int green = ((pixel >> 8) & 0xff); int blue = ((pixel >> ) & 0xff);
- 戻り値:
- 示されたピクセル・フォーマットを記述する
WritabelPixelFormat<IntBuffer>
-
getIntArgbPreInstance
public static WritablePixelFormat<IntBuffer> getIntArgbPreInstance()
ピクセルが32ビット整数に格納されたピクセル・レイアウトを記述する、WritablePixelFormat
インスタンスを返します。ここには、あらかじめ乗算された成分が、MSbからLSbの順序(アルファ、赤、緑、青)で格納されます。このフォーマットのピクセルは、次のサンプル・コードを使用してデコードできます。
int pixel = array[rowstart + x]; int alpha = ((pixel >> 24) & 0xff); int red = ((pixel >> 16) & 0xff); int green = ((pixel >> 8) & 0xff); int blue = ((pixel >> ) & 0xff);
- 戻り値:
- 示されたピクセル・フォーマットを記述する
WritabelPixelFormat<IntBuffer>
-
getByteBgraInstance
public static WritablePixelFormat<ByteBuffer> getByteBgraInstance()
連続するバイトにピクセルが格納されたピクセル・レイアウトを記述する、WritablePixelFormat
インスタンスを返します。ここには、あらかじめ乗算されていない成分が、インデックスの小さい順(青、緑、赤、アルファ)に格納されます。このフォーマットのピクセルは、次のサンプル・コードを使用してデコードできます。
int i = rowstart + x * 4; int blue = (array[i+0] & 0xff); int green = (array[i+1] & 0xff); int red = (array[i+2] & 0xff); int alpha = (array[i+3] & 0xff);
- 戻り値:
- 示されたピクセル・フォーマットを記述する
WritablePixelFormat<ByteBuffer>
-
getByteBgraPreInstance
public static WritablePixelFormat<ByteBuffer> getByteBgraPreInstance()
連続するバイトにピクセルが格納されたピクセル・レイアウトを記述する、WritablePixelFormat
インスタンスを返します。ここには、あらかじめ乗算された成分が、インデックスの小さい順(青、緑、赤、アルファ)に格納されます。このフォーマットのピクセルは、次のサンプル・コードを使用してデコードできます。
int i = rowstart + x * 4; int blue = (array[i+0] & 0xff); int green = (array[i+1] & 0xff); int red = (array[i+2] & 0xff); int alpha = (array[i+3] & 0xff);
- 戻り値:
- 示されたピクセル・フォーマットを記述する
WritablePixelFormat<ByteBuffer>
-
getByteRgbInstance
public static PixelFormat<ByteBuffer> getByteRgbInstance()
連続するバイトにピクセルが格納されたピクセル・レイアウトを記述する、PixelFormat
インスタンスを返します。ここには、色成分が、インデックスの小さい順(赤、緑、青)に格納されます。このフォーマットのピクセルは、次のサンプル・コードを使用してデコードできます。
int i = rowstart + x * 3; int red = (array[i+0] & 0xff); int green = (array[i+1] & 0xff); int blue = (array[i+2] & 0xff);
- 戻り値:
- 示されたピクセル・フォーマットを記述する
PixelFormat<ByteBuffer>
-
createByteIndexedPremultipliedInstance
public static PixelFormat<ByteBuffer> createByteIndexedPremultipliedInstance(int[] colors)
ピクセル・レイアウトを記述するPixelFormat
インスタンスを作成します。ここには、指定された参照表(INT_ARGB_PRE
フォーマットのあらかじめ乗算された色値からなる)のインデックスを表す1バイトとしてピクセルが格納されます。このフォーマットのピクセルは、次のサンプル・コードを使用してデコードできます。
int pixel = array[rowstart + x] & 0xff; int argb = colors[pixel]; int alpha = ((argb >> 24) & 0xff); int red = ((argb >> 16) & 0xff); int green = ((argb >> 8) & 0xff); int blue = ((argb ) & 0xff);
- パラメータ:
colors
-INT_ARGB_PRE
フォーマットの32ビット色値のint[]
配列- 戻り値:
- あらかじめ乗算された色の示されたリストを持つ、指定されたピクセル・フォーマットを記述する
PixelFormat<ByteBuffer>
-
createByteIndexedInstance
public static PixelFormat<ByteBuffer> createByteIndexedInstance(int[] colors)
ピクセル・レイアウトを記述するPixelFormat
インスタンスを作成します。ここには、指定された参照表(INT_ARGB
フォーマットのあらかじめ乗算されていない色値からなる)のインデックスを表す1バイトとしてピクセルが格納されます。このフォーマットのピクセルは、次のサンプル・コードを使用してデコードできます。
int pixel = array[rowstart + x] & 0xff; int argb = colors[pixel]; int alpha = ((argb >> 24) & 0xff); int red = ((argb >> 16) & 0xff); int green = ((argb >> 8) & 0xff); int blue = ((argb ) & 0xff);
- パラメータ:
colors
-INT_ARGB
フォーマットの32ビット色値のint[]
配列- 戻り値:
- あらかじめ乗算されていない色の示されたリストを持つ、指定されたピクセル・フォーマットを記述する
PixelFormat<ByteBuffer>
-
getType
public PixelFormat.Type getType()
このPixelFormat
オブジェクトによって管理されるピクセルの格納形式を表す列挙を返します。- 戻り値:
- ピクセルの
Type
列挙
-
isWritable
public abstract boolean isWritable()
このPixelFormat
オブジェクトが色情報をピクセル表現に変換できる場合にtrueを返します。- 戻り値:
- この
PixelFormat
が色をピクセル・データに変換できる場合はtrue
-
isPremultiplied
public abstract boolean isPremultiplied()
より効率的にブレンド計算を行うために、このフォーマットでデコード(またはエンコード)された色成分がアルファ成分によってあらかじめ乗算されている場合にtrueを返します。- 戻り値:
- 管理されている色成分がアルファによってあらかじめ乗算されている場合はtrue
-
getArgb
public abstract int getArgb(T buf, int x, int y, int scanlineStride)
バッファの指定された座標からピクセル・データを読み取り、それをINT_ARGB
フォーマットの色の32ビット整数表現に変換します。 32ビット整数は、ARGBの最上位バイトから最下位バイトへの順序で、個別の8ビット・フィールドに4つの色成分を含みます。buf.get(0)
によって座標(0, 0)
のピクセルのピクセル情報が返されるように、バッファの位置はピクセル・データの先頭に設定する必要があります。scanlineStride
パラメータにより、ある行の先頭のピクセル・データから、すぐ後の行(次に上のY座標)の先頭のピクセル・データへの距離が定義されます。 通常、scanlineStride
は、ピクセルごとのデータ要素の数(整数およびインデックス付きフォーマットの場合は1、バイト・フォーマットの場合は3または4)で乗算されたイメージの幅と同じですが、一部のイメージには、位置合せなどの目的で行間にさらに大きい余白がある場合があります。色成分は、次のサンプル・コードを使用して、返された整数から抽出できます。
int alpha = ((retval >> 24) & 0xff); int red = ((retval >> 16) & 0xff); int green = ((retval >> 8) & 0xff); int blue = ((retval ) & 0xff);
- パラメータ:
buf
- ピクセル・データのバッファx
- 読み取るピクセルのX座標y
- 読み取るピクセルのY座標scanlineStride
- バッファ内で隣接するピクセルの行同士の先頭と先頭の間にあるバッファ要素の数- 戻り値:
INT_ARGB
ピクセル・フォーマットと同様のフォーマットの、ピクセルの色を示す32ビット値
-
-