java.awt.color
クラス ICC_ProfileRGB
java.lang.Object
|
+--java.awt.color.ICC_Profile
|
+--java.awt.color.ICC_ProfileRGB
- 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 に変換することで行われます。
クラス 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,
icSigCmyData,
icSigCmykData,
icSigColorSpaceClass,
icSigCopyrightTag,
icSigDeviceMfgDescTag,
icSigDeviceModelDescTag,
icSigDisplayClass,
icSigGamutTag,
icSigGrayData,
icSigGrayTRCTag,
icSigGreenColorantTag,
icSigGreenTRCTag,
icSigHead,
icSigHlsData,
icSigHsvData,
icSigInputClass,
icSigLabData,
icSigLinkClass,
icSigLuminanceTag,
icSigLuvData,
icSigMeasurementTag,
icSigMediaBlackPointTag,
icSigMediaWhitePointTag,
icSigNamedColor2Tag,
icSigNamedColorClass,
icSigOutputClass,
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,
setData,
write,
write |
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 をテーブルで指定しない場合
バグや機能要求の報告
新しい javadoc の表示についてのコメントやご提案
Java は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.