|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
JPEGDecodeParam は、JPEG データストリームの復号化の制御に必要なテーブルおよびオプションをカプセル化します。パラメータは、符号化用にアプリケーションによって明示的に設定されるか、または復号化用に JPEG ヘッダから読み取られるかのどちらかです。省略されたデータストリームの復号化の場合は、アプリケーションは、値の一部またはすべてをアプリケーション自体で設定しなければならない場合があります。
BufferedImage の操作を行う場合は (JPEGImageDecoder.decodeAsBufferedImage()
)、codec は JPEG COLOR_ID に対応した適切な ColorModel を生成しようとしますが、これが常に可能だとは限りません。マッピングの例を以下に示します。サポートされていない変換が必要な場合、または未知の符号化された COLOR_ID が使われている場合、ユーザは Raster としてデータを要求し、独自に変換する必要があります。ラスタに復号化する場合は (JPEGImageDecoder.decodeAsRaster()
)、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
ピクセル密度はセンチメートルあたりのピクセル数を表します。 |
static int |
DENSITY_UNIT_DOTS_INCH
ピクセル密度はインチあたりのピクセル数を表します。 |
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()
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()
getDensityUnit()
で記述された単位)JPEGDecodeParam.getDensityUnit
public int getYDensity()
getDensityUnit()
で記述された単位)JPEGDecodeParam.getDensityUnit
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |