JavaTM 2 Platform
Std. Ed. v1.3

java.awt.color
クラス ICC_ProfileRGB

java.lang.Object
  |
  +--java.awt.color.ICC_Profile
        |
        +--java.awt.color.ICC_ProfileRGB
すべての実装インタフェース:
Serializable

public class ICC_ProfileRGB
extends ICC_Profile

「プロファイルのカラースペースタイプが RGB」および「プロファイルに redColorantTag、greenColorantTag、blueColorantTag、redTRCTag、greenTRCTag、blueTRCTag、および mediaWhitePointTag タグがある」という 2 つの基準を満たすプロファイルを表す ICC_Profile クラスのサブクラスです。この種のプロファイルの例には、3 成分マトリックスベースの入力プロファイルおよび RGB 表示プロファイルがあります。ICC_Profile クラスの getInstance メソッドは、前述の条件が満たされる場合に ICC_ProfileRGB オブジェクトを返します。このクラスのメリットは、Java またはネイティブのメソッドが場合によっては、色変換を最適化するために直接使用できる色変換マトリックスおよびルックアップテーブルを提供することです。

デバイスプロファイルカラースペースから CIEXYZ プロファイル接続領域に変換するために、各デバイス色成分はまず対応するトーンリプロダクションカーブ (TRC) を介してルックアップによって線形化されます。次に、結果の線形 RGB 成分は 3x3 マトリックス (RGB 色素で構成) を使って CIEXYZ PCS に変換されます。


                linearR = redTRC[deviceR]

                linearG = greenTRC[deviceG]

                linearB = blueTRC[deviceB]

  _      _       _                                             _   _         _
 [  PCSX  ]     [  redColorantX  greenColorantX  blueColorantX  ] [  linearR  ]
 [        ]     [                                               ] [           ]
 [  PCSY  ]  =  [  redColorantY  greenColorantY  blueColorantY  ] [  linearG  ]
 [        ]     [                                               ] [           ]
 [_ PCSZ _]     [_ redColorantZ  greenColorantZ  blueColorantZ _] [_ linearB _]

逆変換は、前述の 3x3 マトリックスの逆を使って PCS XYZ 成分を線形 RGB 成分に変換し、次に TRC の逆を使って線形 RGB をデバイス RGB に変換することで行われます。

関連項目:
直列化された形式

フィールドの概要
static int BLUECOMPONENT
          青成分のガンマ値または TRC を要求します。
static int GREENCOMPONENT
          緑成分のガンマ値または TRC を要求します。
static int REDCOMPONENT
          赤成分のガンマ値または TRC を要求します。
 
クラス java.awt.color.ICC_Profile から継承したフィールド
CLASS_ABSTRACT, CLASS_COLORSPACECONVERSION, CLASS_DEVICELINK, CLASS_DISPLAY, CLASS_INPUT, CLASS_NAMEDCOLOR, CLASS_OUTPUT, icAbsoluteColorimetric, icCurveCount, icCurveData, icHdrAttributes, icHdrCmmId, icHdrColorSpace, icHdrCreator, icHdrDate, icHdrDeviceClass, icHdrFlags, icHdrIlluminant, icHdrMagic, icHdrManufacturer, icHdrModel, icHdrPcs, icHdrPlatform, icHdrRenderingIntent, icHdrSize, icHdrVersion, icPerceptual, icRelativeColorimetric, icSaturation, icSigAbstractClass, icSigAToB0Tag, icSigAToB1Tag, icSigAToB2Tag, icSigBlueColorantTag, icSigBlueTRCTag, icSigBToA0Tag, icSigBToA1Tag, icSigBToA2Tag, icSigCalibrationDateTimeTag, icSigCharTargetTag, icSigChromaticityTag, icSigCmyData, icSigCmykData, icSigColorSpaceClass, icSigCopyrightTag, icSigCrdInfoTag, icSigDeviceMfgDescTag, icSigDeviceModelDescTag, icSigDeviceSettingsTag, icSigDisplayClass, icSigGamutTag, icSigGrayData, icSigGrayTRCTag, icSigGreenColorantTag, icSigGreenTRCTag, icSigHead, icSigHlsData, icSigHsvData, icSigInputClass, icSigLabData, icSigLinkClass, icSigLuminanceTag, icSigLuvData, icSigMeasurementTag, icSigMediaBlackPointTag, icSigMediaWhitePointTag, icSigNamedColor2Tag, icSigNamedColorClass, icSigOutputClass, icSigOutputResponseTag, icSigPreview0Tag, icSigPreview1Tag, icSigPreview2Tag, icSigProfileDescriptionTag, icSigProfileSequenceDescTag, icSigPs2CRD0Tag, icSigPs2CRD1Tag, icSigPs2CRD2Tag, icSigPs2CRD3Tag, icSigPs2CSATag, icSigPs2RenderingIntentTag, icSigRedColorantTag, icSigRedTRCTag, icSigRgbData, icSigScreeningDescTag, icSigScreeningTag, icSigSpace2CLR, icSigSpace3CLR, icSigSpace4CLR, icSigSpace5CLR, icSigSpace6CLR, icSigSpace7CLR, icSigSpace8CLR, icSigSpace9CLR, icSigSpaceACLR, icSigSpaceBCLR, icSigSpaceCCLR, icSigSpaceDCLR, icSigSpaceECLR, icSigSpaceFCLR, icSigTechnologyTag, icSigUcrBgTag, icSigViewingCondDescTag, icSigViewingConditionsTag, icSigXYZData, icSigYCbCrData, icSigYxyData, icTagReserved, icTagType, icXYZNumberX
 
メソッドの概要
 float getGamma(int component)
          特定の成分のトーンリプロダクションカーブ (TRC) を表すガンマ値を返します。
 float[][] getMatrix()
          前述のように、ICC プロファイルの redColorantTag、greenColorantTag、および blueColorantTag の X、Y、および Z 成分で構成される 3x3 float マトリックスを返します。
 float[] getMediaWhitePoint()
          ICC プロファイルの mediaWhitePointTag の X、Y、および Z 成分を含む長さ 3 の float 配列を返します。
 short[] getTRC(int component)
          特定の成分の TRC を short 配列で返します。
 
クラス java.awt.color.ICC_Profile から継承したメソッド
finalize, getColorSpaceType, getData, getData, getInstance, getInstance, getInstance, getInstance, getMajorVersion, getMinorVersion, getNumComponents, getPCSType, getProfileClass, readResolve, setData, write, write
 
クラス java.lang.Object から継承したメソッド
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

REDCOMPONENT

public static final int REDCOMPONENT
赤成分のガンマ値または TRC を要求します。

GREENCOMPONENT

public static final int GREENCOMPONENT
緑成分のガンマ値または TRC を要求します。

BLUECOMPONENT

public static final int BLUECOMPONENT
青成分のガンマ値または TRC を要求します。
メソッドの詳細

getMediaWhitePoint

public float[] getMediaWhitePoint()
ICC プロファイルの mediaWhitePointTag の X、Y、および Z 成分を含む長さ 3 の float 配列を返します。

getMatrix

public float[][] getMatrix()
前述のように、ICC プロファイルの redColorantTag、greenColorantTag、および blueColorantTag の X、Y、および Z 成分で構成される 3x3 float マトリックスを返します。このマトリックスは、プロファイルの順方向の色変換、つまりプロファイルカラースペースから CIEXYZ PCS への変換に使うことができます。

getGamma

public float getGamma(int component)
特定の成分のトーンリプロダクションカーブ (TRC) を表すガンマ値を返します。成分は、REDCOMPONENT、GREENCOMPONENT、または BLUECOMPONENT のどれかである必要があります。プロファイルが対応する成分の TRC を単一のガンマ値ではなくテーブルで表す場合は、例外がスローされます。この場合、実際のテーブルは getTRC() を使って取得できます。ガンマ値を使う場合、線形成分 (R、G、または B) は次のように計算されます。

                                          gamma
         linearComponent = deviceComponent

戻り値:
ガンマ値の float 値
例外:
ProfileDataException - プロファイルが対応する TRC を単一のガンマ値で指定しない場合

getTRC

public short[] getTRC(int component)
特定の成分の TRC を short 配列で返します。成分は、REDCOMPONENT、GREENCOMPONENT、または BLUECOMPONENT のどれかでなくてはなりません。プロファイルが対応する TRC を線形 (ガンマ = 1.0) または単一のガンマ値で指定している場合、このメソッドは例外をスローし、ガンマ値を取得するために getGamma() メソッドが使われます。そうでない場合、ここで返される short 配列は、入力成分値が概念的に範囲 [0.0, 1.0] の中にあるルックアップテーブルを表します。値 0.0 は配列インデックス 0 に対応し、値 1.0 は配列インデックス length-1 と対応します。配列のインデックスに正確に対応しない入力値の出力値を生成するには、補間を使うことができます。出力値も線形的に範囲 [0.0, 1.0] と対応します。値 0.0 は、配列値 0x0000 で表され、値 1.0 は 0xFFFF で表されます。つまり、値は short 配列で返されますが、それらは実際には符号なしの short 値です。
戻り値:
TRC を表す short 配列
例外:
ProfileDataException - プロファイルが対応する TRC をテーブルで指定しない場合

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.