|
|||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
JPEGDecodeParam は、JPEG データストリームの復号化の制御に必要なテーブルおよびオプションをカプセル化します。パラメータは、符号化用にアプリケーションによって明示的に設定されるか、または復号化用に JPEG ヘッダから読み取られるかのどちらかです。省略されたデータストリームの復号化の場合は、アプリケーションは、値の一部またはすべてをアプリケーション自体で設定しなければならない場合があります。
BufferedImage の操作を行う場合(@see JPEGImageDecoder.decodeBufferedImage)は 、codec は JPEG COLOR_ID に対応する ColorModel を生成しようとしますが、これが常に可能だとは限りません (マッピング例を以下に示します)。サポートされていない変換が必要な場合や符号化時に未知の COLOR_ID が使われている場合、ユーザは Raster としてデータを要求し、手動で変換する必要があります。ラスタに復号化する場合(@see JPEGImageDecoder.decodeRaster)は、ColorSpace の調整は行われません。 注: 以下に記載したカラー ID は、JPEG codec のデータ処理に影響を与える単純な列挙値です。なお、JPEG 圧縮はその定義上、色を区別しません。これらの値は、JPEG データの圧縮解除する際のヒントとして使われます。特に重要なのは、バッファリングされたイメージを復号化する際の、YCbCr から sRGB へのデフォルト変換です。
注: JPEG には色を識別する仕組みが用意されていないため、元の色を忠実に再現できるとは限りません。この問題は、JPEG データストリーム内に ICC プロファイルを特別なマーカとして埋め込むことで、近い将来に解決される予定です。 以下に変換例を示しますが、このリストは許可されている変換の一例にすぎないうえ、将来変更される可能性もあります。このため、これらの変換を前提とせず、スローされる ImageFormatExceptions や BufferedImage に関連付けられた実際の ColorModel の確認を強くお勧めします。
復号化: JPEG (符号化された) カラー ID BufferedImage ColorSpace ======================= ======================== COLOR_ID_UNKNOWN ** 無効 ** COLOR_ID_GRAY CS_GRAY COLOR_ID_RGB CS_sRGB COLOR_ID_YCbCr CS_sRGB COLOR_ID_CMYK ** 無効 ** COLOR_ID_PYCC CS_PYCC COLOR_ID_RGBA CS_sRGB (alpha) COLOR_ID_YCbCrA CS_sRGB (alpha) COLOR_ID_RGBA_INVERTED ** 無効 ** COLOR_ID_YCbCrA_INVERTED ** 無効 ** COLOR_ID_PYCCA CS_PYCC (alpha) COLOR_ID_YCCK ** 無効 **ユーザがより細かく変換を制御する必要がある場合は、Raster としてデータを要求し、独自にイメージ変換を処理しなければなりません。
JFIF ファイルを復号化する場合は、符号化された COLOR_ID は必ず、COLOR_ID_UNKNOWN、COLOR_ID_GRAY、COLOR_ID_RGB、COLOR_ID_YCbCr、COLOR_ID_CMYK、COLOR_ID_YCCK のうちのどれかになります。
com.sun.image.codec.jpeg パッケージ内のクラスは、コア Java API の一部ではありません。これらは、Sun の JDK および JRE の配布の一部です。ほかのライセンス保有者がこれらのクラスを配布する可能性はあります。ただし、開発者は、これらのクラスが Sun 以外の実装で利用できると想定して作業することはできません。将来的には、同等の機能がコア API または標準の拡張機能で利用できるようになる予定です。
フィールドの概要 | |
static int |
APP0_MARKER
APP0 マーカ - JFIF 情報を表します。 |
static int |
APP1_MARKER
APP1 マーカを表します。 |
static int |
APP2_MARKER
APP2 マーカを表します。 |
static int |
APP3_MARKER
APP3 マーカを表します。 |
static int |
APP4_MARKER
APP4 マーカを表します。 |
static int |
APP5_MARKER
APP5 マーカを表します。 |
static int |
APP6_MARKER
APP6 マーカを表します。 |
static int |
APP7_MARKER
APP7 マーカを表します。 |
static int |
APP8_MARKER
APP8 マーカを表します。 |
static int |
APP9_MARKER
APP9 マーカを表します。 |
static int |
APPA_MARKER
APPA マーカを表します。 |
static int |
APPB_MARKER
APPB マーカを表します。 |
static int |
APPC_MARKER
APPC マーカを表します。 |
static int |
APPD_MARKER
APPD マーカを表します。 |
static int |
APPE_MARKER
APPE マーカ - Adobe 情報を表します。 |
static int |
APPF_MARKER
APPF マーカを表します。 |
static int |
COLOR_ID_CMYK
CMYK を表します。 |
static int |
COLOR_ID_GRAY
モノクロを表します。 |
static int |
COLOR_ID_PYCC
PhotoYCC を表します。 |
static int |
COLOR_ID_PYCCA
PhotoYCC-Alpha を表します。 |
static int |
COLOR_ID_RGB
赤、緑、および青を表します。 |
static int |
COLOR_ID_RGBA
RGB-Alpha を表します。 |
static int |
COLOR_ID_RGBA_INVERTED
R、G、B を反転した RGB-Alpha を表します。 |
static int |
COLOR_ID_UNKNOWN
未知または未定義のカラー ID を表します。 |
static int |
COLOR_ID_YCbCr
YCbCr を表します。 |
static int |
COLOR_ID_YCbCrA
YCbCr-Alpha を表します。 |
static int |
COLOR_ID_YCbCrA_INVERTED
Y、Cb、Cr を反転した YCbCr-Alpha を表します。 |
static int |
COLOR_ID_YCCK
YCbCrK を表します。 |
static int |
COMMENT_MARKER
Adobe マーカは、Adobe マーカの存在または必要性を示します。 |
static int |
DENSITY_UNIT_ASPECT_RATIO
単純にピクセルの縦横比を示す X と Y のセットを表します。 |
static int |
DENSITY_UNIT_DOTS_CM
このピクセル密度は、1 センチメートルあたりのピクセル数を表します。 |
static int |
DENSITY_UNIT_DOTS_INCH
このピクセル密度は、1 インチあたりのピクセル数を表します。 |
static int |
NUM_COLOR_ID
定義されているカラー ID 数を表します。 |
static int |
NUM_DENSITY_UNIT
DENSITY_UNIT の既知の最大値を表します。 |
static int |
NUM_TABLES
利用可能な Huffman テーブルと量子化テーブルの数を表します。 |
メソッドの概要 | |
Object |
clone()
|
int |
getACHuffmanComponentMapping(int component)
特定のコンポーネントに対して使われる AC Huffman テーブルの番号を取得します。 |
JPEGHuffmanTable |
getACHuffmanTable(int tableNum)
要求された AC Huffman コーディングテーブルを返します。 |
JPEGHuffmanTable |
getACHuffmanTableForComponent(int component)
要求されたコンポーネントに対する AC Huffman コーディングテーブルを返します。 |
int |
getDCHuffmanComponentMapping(int component)
特定のコンポーネントに対して使われる DC Huffman テーブルの番号を取得します。 |
JPEGHuffmanTable |
getDCHuffmanTable(int tableNum)
要求された DC Huffman コーディングテーブルを返します。 |
JPEGHuffmanTable |
getDCHuffmanTableForComponent(int component)
要求されたコンポーネントに対する DC Huffman コーディングテーブルを返します。 |
int |
getDensityUnit()
ピクセルサイズセット用のコードを取得します。 |
int |
getEncodedColorID()
JPEG で符号化されたカラー ID を返します。 |
int |
getHeight()
イメージの高さを取得します。 |
int |
getHorizontalSubsampling(int component)
要求されたコンポーネントに対する水平方向のサブサンプル因数を返します。 |
boolean |
getMarker(int marker)
Parameter オブジェクト内にマーカのインスタンスが 1 つ以上ある場合に、true を返します。 |
byte[][] |
getMarkerData(int marker)
Parameter オブジェクト内の要求されたマーカに関連付けられた byte[][] を返します。 |
int |
getNumComponents()
現在の符号化 COLOR_ID に対するコンポーネントの数を返します。 |
JPEGQTable |
getQTable(int tableNum)
係数量子化テーブルを返します。 |
int |
getQTableComponentMapping(int component)
特定のコンポーネントに対して使われる数値化テーブルの番号を取得します。 |
JPEGQTable |
getQTableForComponent(int component)
要求されたコンポーネントに対する量子化テーブルを返します。 |
int |
getRestartInterval()
再起動マーカごとに MCU を取得します。 |
int |
getVerticalSubsampling(int component)
要求されたコンポーネントに対する垂直方向のサブサンプル因数を返します。 |
int |
getWidth()
イメージ幅を取得します。 |
int |
getXDensity()
水平方向のピクセルの密度を取得します。 |
int |
getYDensity()
垂直方向のピクセルの密度を取得します。 |
boolean |
isImageInfoValid()
ParamBlock 内のイメージ情報が現在有効な場合は、true を返します。 |
boolean |
isTableInfoValid()
ParamBlock 内のテーブルが現在有効な場合は、true を返します。 |
フィールドの詳細 |
public static final int COLOR_ID_UNKNOWN
public static final int COLOR_ID_GRAY
public static final int COLOR_ID_RGB
public static final int COLOR_ID_YCbCr
public static final int COLOR_ID_CMYK
public static final int COLOR_ID_PYCC
public static final int COLOR_ID_RGBA
public static final int COLOR_ID_YCbCrA
public static final int COLOR_ID_RGBA_INVERTED
public static final int COLOR_ID_YCbCrA_INVERTED
public static final int COLOR_ID_PYCCA
public static final int COLOR_ID_YCCK
public static final int NUM_COLOR_ID
public static final int NUM_TABLES
public static final int DENSITY_UNIT_ASPECT_RATIO
public static final int DENSITY_UNIT_DOTS_INCH
public static final int DENSITY_UNIT_DOTS_CM
public static final int NUM_DENSITY_UNIT
public static final int APP0_MARKER
public static final int APP1_MARKER
public static final int APP2_MARKER
public static final int APP3_MARKER
public static final int APP4_MARKER
public static final int APP5_MARKER
public static final int APP6_MARKER
public static final int APP7_MARKER
public static final int APP8_MARKER
public static final int APP9_MARKER
public static final int APPA_MARKER
public static final int APPB_MARKER
public static final int APPC_MARKER
public static final int APPD_MARKER
public static final int APPE_MARKER
public static final int APPF_MARKER
public static final int COMMENT_MARKER
メソッドの詳細 |
public Object clone()
public int getWidth()
public int getHeight()
public int getHorizontalSubsampling(int component)
component
- サブサンプル用因子を返す符号化されたイメージのコンポーネント
public int getVerticalSubsampling(int component)
component
- サブサンプル用因子を返す符号化されたイメージのコンポーネント
public JPEGQTable getQTable(int tableNum)
tableNum
- 返されるテーブルのインデックス
public JPEGQTable getQTableForComponent(int component)
component
- 目的のイメージコンポーネント
public JPEGHuffmanTable getDCHuffmanTable(int tableNum)
tableNum
- 返されるテーブルのインデックス
public JPEGHuffmanTable getDCHuffmanTableForComponent(int component)
component
- 目的のイメージコンポーネント
public JPEGHuffmanTable getACHuffmanTable(int tableNum)
tableNum
- 返されるテーブルのインデックス
public JPEGHuffmanTable getACHuffmanTableForComponent(int component)
component
- 目的のイメージコンポーネント
public int getDCHuffmanComponentMapping(int component)
component
- 目的のコンポーネント
public int getACHuffmanComponentMapping(int component)
component
- 目的のコンポーネント
public int getQTableComponentMapping(int component)
component
- 目的のコンポーネント
public boolean isImageInfoValid()
public boolean isTableInfoValid()
public boolean getMarker(int marker)
marker
- 目的のマーカpublic byte[][] getMarkerData(int marker)
marker
- 目的のマーカ
public int getEncodedColorID()
public int getNumComponents()
public int getRestartInterval()
public int getDensityUnit()
public int getXDensity()
JPEGDecodeParam.getDensityUnit.
public int getYDensity()
JPEGDecodeParam.getDensityUnit.
|
|||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |