Win32 API 日本語リファレンス
ホームGraphics.Imaging › IWICDevelopRaw

IWICDevelopRaw

COM
IIDfbec5e44-f7be-4b65-b7f8-c0c81fef026d継承元IWICBitmapFrameDecode自前メソッド開始 vtbl11

公式ドキュメント

raw コーデック形式の機能へのアクセスを提供するメソッドを公開します。

メソッド 32

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 11 HRESULT QueryRawCapabilitiesInfo(WICRawCapabilitiesInfo* pInfo)

raw イメージでどの機能がサポートされているかに関する情報を取得します。

pInfoWICRawCapabilitiesInfo*inoutraw イメージがサポートする機能を提供する WICRawCapabilitiesInfo を受け取るポインター。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

外側の範囲の限界における結果が完璧な品質でない場合でも、コーデックはその機能をサポートしていると報告することが推奨されます。

vtbl 12 HRESULT LoadParameterSet(WICRawParameterSet ParameterSet)

目的の WICRawParameterSet オプションを設定します。

ParameterSetWICRawParameterSetin目的の WICRawParameterSet オプション。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 13 HRESULT GetCurrentParameterSet(IPropertyBag2** ppCurrentParameterSet)

現在のパラメーターセットを取得します。

ppCurrentParameterSetIPropertyBag2**out現在のパラメーターセットへのポインターを受け取るポインター。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 14 HRESULT SetExposureCompensation(DOUBLE ev)

露出補正のストップ値を設定します。

evDOUBLEin露出補正値。露出補正の値の範囲は -5.0 から +5.0 で、これは 10 段分のストップに相当します。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

外側の範囲の限界における結果が完璧な品質でない場合でも、コーデックはこのメソッドをサポートしていると報告することが推奨されます。

vtbl 15 HRESULT GetExposureCompensation(DOUBLE* pEV)

raw イメージの露出補正のストップ値を取得します。

pEVDOUBLE*out露出補正のストップ値を受け取るポインター。既定値は「撮影時」の設定です。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 16 HRESULT SetWhitePointRGB(DWORD Red, DWORD Green, DWORD Blue)

ホワイトポイントの RGB 値を設定します。

RedDWORDin赤のホワイトポイント値。
GreenDWORDin緑のホワイトポイント値。
BlueDWORDin青のホワイトポイント値。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

他のホワイトポイント設定メソッド (例: SetWhitePointKelvin) が存在するため、コーデック実装者は適切な相互運用性を確保するよう注意する必要があります。たとえば、呼び出し元が名前付きホワイトポイントを使用して設定した場合、コーデック実装者は対応するケルビン温度の読み戻しを無効にしたい場合があります。以前の呼び出しを理由にコーデック実装者が特定のアクションを拒否したい特定のケースでは、WINCODEC_ERR_WRONGSTATE を返す必要があります。

vtbl 17 HRESULT GetWhitePointRGB(DWORD* pRed, DWORD* pGreen, DWORD* pBlue)

ホワイトポイントの RGB 値を取得します。

pRedDWORD*out赤のホワイトポイント値を受け取るポインター。
pGreenDWORD*out緑のホワイトポイント値を受け取るポインター。
pBlueDWORD*out青のホワイトポイント値を受け取るポインター。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 18 HRESULT SetNamedWhitePoint(WICNamedWhitePoint WhitePoint)

raw ファイルの名前付きホワイトポイントを設定します。

WhitePointWICNamedWhitePointin列挙値のビットごとの組み合わせ。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

名前付きホワイトポイントが raw イメージでサポートされていない場合、または raw ファイルにこの API でサポートされていない名前付きホワイトポイントが含まれている場合でも、コーデック実装者はこの機能をサポート済みとしてマークする必要があります。

名前付きホワイトポイントが raw イメージでサポートされていない場合、それが raw ファイルの事前定義されたホワイトポイントでない場合でも、名前付きホワイトポイントに合わせてイメージを調整する最善の努力を行う必要があります。

raw ファイルにこの API でサポートされていない名前付きホワイトポイントが含まれている場合、コーデック実装者はその名前付きホワイトポイントを API 内でサポートする必要があります。

他のホワイトポイント設定メソッド (例: SetWhitePointKelvin) が存在するため、コーデック実装者は適切な相互運用性を確保するよう注意する必要があります。たとえば、呼び出し元が名前付きホワイトポイントを使用して設定した場合、コーデック実装者は対応するケルビン温度の読み戻しを無効にしたい場合があります。以前の呼び出しを理由にコーデック実装者が特定のアクションを拒否したい特定のケースでは、WINCODEC_ERR_WRONGSTATE を返す必要があります。

vtbl 19 HRESULT GetNamedWhitePoint(WICNamedWhitePoint* pWhitePoint)

raw イメージの名前付きホワイトポイントを取得します。

pWhitePointWICNamedWhitePoint*out列挙値のビットごとの組み合わせを受け取るポインター。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

名前付きホワイトポイントが raw イメージでサポートされていない場合、または raw ファイルにこの API でサポートされていない名前付きホワイトポイントが含まれている場合でも、コーデック実装者はこの機能をサポート済みとしてマークする必要があります。

名前付きホワイトポイントが raw イメージでサポートされていない場合、それが raw ファイルの事前定義されたホワイトポイントでない場合でも、名前付きホワイトポイントに合わせてイメージを調整する最善の努力を行う必要があります。

raw ファイルにこの API でサポートされていない名前付きホワイトポイントが含まれている場合、コーデック実装者はその名前付きホワイトポイントを WICNamedWhitePoint 内でサポートする必要があります。

vtbl 20 HRESULT SetWhitePointKelvin(DWORD WhitePointKelvin)

ホワイトポイントのケルビン値を設定します。

WhitePointKelvinDWORDinホワイトポイントのケルビン値。許容されるケルビン値は 1,500 から 30,000 です。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

コーデック実装者は、raw イメージがネイティブにサポートする範囲内で色温度を忠実に調整する必要があります。ネイティブのサポート範囲外の値については、コーデック実装者はその色温度におけるイメージの最善の表現を提供する必要があります。

値が定義された許容範囲外である場合、コーデック実装者は WINCODEC_ERR_VALUEOUTOFRANGE を返す必要があります。

コーデック実装者は、SetWhitePointRGB などの他のホワイトポイント設定メソッドとの適切な相互運用性を確保する必要があります。たとえば、呼び出し元が SetNamedWhitePoint を使用してホワイトポイントを設定した場合、コーデック実装者は対応するケルビン温度の読み戻しを無効にしたい場合があります。以前の呼び出しを理由にコーデック実装者が特定のアクションを拒否したい特定のケースでは、WINCODEC_ERR_WRONGSTATE を返す必要があります。

vtbl 21 HRESULT GetWhitePointKelvin(DWORD* pWhitePointKelvin)

raw イメージのホワイトポイントのケルビン温度を取得します。

pWhitePointKelvinDWORD*outraw イメージのホワイトポイントのケルビン温度を受け取るポインター。既定値は「撮影時」の設定値です。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 22 HRESULT GetKelvinRangeInfo(DWORD* pMinKelvinTemp, DWORD* pMaxKelvinTemp, DWORD* pKelvinTempStepValue)

raw イメージの現在のケルビン範囲に関する情報を取得します。

pMinKelvinTempDWORD*out最小ケルビン温度を受け取るポインター。
pMaxKelvinTempDWORD*out最大ケルビン温度を受け取るポインター。
pKelvinTempStepValueDWORD*outケルビンのステップ値を受け取るポインター。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 23 HRESULT SetContrast(DOUBLE Contrast)

raw イメージのコントラスト値を設定します。

ContrastDOUBLEinraw イメージのコントラスト値。既定値は「撮影時」の設定です。コントラストの値の範囲は 0.0 から 1.0 です。下限の 0.0 はイメージにコントラストが適用されていないことを表し、上限の 1.0 は適用できる最大量のコントラストを表します。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

コーデック実装者は、上限範囲の値が何を表すかを決定し、その値を自身のイメージ処理ルーチンにどのようにマッピングするかを決定する必要があります。

vtbl 24 HRESULT GetContrast(DOUBLE* pContrast)

raw イメージのコントラスト値を取得します。

pContrastDOUBLE*outraw イメージのコントラスト値を受け取るポインター。既定値は「撮影時」の設定です。コントラストの値の範囲は 0.0 から 1.0 です。下限の 0.0 はイメージにコントラストが適用されていないことを表し、上限の 1.0 は適用できる最大量のコントラストを表します。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 25 HRESULT SetGamma(DOUBLE Gamma)

目的のガンマ値を設定します。

GammaDOUBLEin目的のガンマ値。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 26 HRESULT GetGamma(DOUBLE* pGamma)

raw イメージの現在のガンマ設定を取得します。

pGammaDOUBLE*out現在のガンマ設定を受け取るポインター。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 27 HRESULT SetSharpness(DOUBLE Sharpness)

raw イメージのシャープネス値を設定します。

SharpnessDOUBLEinraw イメージのシャープネス値。既定値は「撮影時」の設定です。シャープネスの値の範囲は 0.0 から 1.0 です。下限の 0.0 はイメージにシャープニングが適用されていないことを表し、上限の 1.0 は適用できる最大量のシャープネスを表します。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

コーデック実装者は、上限範囲の値が何を表すかを決定し、その値を自身のイメージ処理ルーチンにどのようにマッピングするかを決定する必要があります。

vtbl 28 HRESULT GetSharpness(DOUBLE* pSharpness)

raw イメージのシャープネス値を取得します。

pSharpnessDOUBLE*outraw イメージのシャープネス値を受け取るポインター。既定値は「撮影時」の設定です。シャープネスの値の範囲は 0.0 から 1.0 です。下限の 0.0 はイメージにシャープニングが適用されていないことを表し、上限の 1.0 は適用できる最大量のシャープネスを表します。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 29 HRESULT SetSaturation(DOUBLE Saturation)

raw イメージの彩度値を設定します。

SaturationDOUBLEinraw イメージの彩度値。彩度の値の範囲は 0.0 から 1.0 です。0.0 の値は完全に彩度が失われたイメージを表し、1.0 の値は適用できる最大量の彩度を表します。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

コーデック実装者は、上限範囲の値が何を表すかを決定し、その値を自身のイメージ処理ルーチンにどのようにマッピングするかを決定する必要があります。

vtbl 30 HRESULT GetSaturation(DOUBLE* pSaturation)

raw イメージの彩度値を取得します。

pSaturationDOUBLE*outraw イメージの彩度値を受け取るポインター。既定値は「撮影時」の設定です。彩度の値の範囲は 0.0 から 1.0 です。0.0 の値は完全に彩度が失われたイメージを表し、1.0 の値は適用できる最大量の彩度を表します。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 31 HRESULT SetTint(DOUBLE Tint)

raw イメージの色合い (Tint) 値を設定します。

TintDOUBLEinraw イメージの色合い (Tint) 値。既定値は「撮影時」の設定が存在すればその値、なければ 0.0 です。値の範囲は -1.0 から +1.0 です。下限の -1.0 はイメージへの完全な緑寄りを表し、上限の 1.0 は完全なマゼンタ寄りを表します。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

コーデック実装者は、外側の範囲の値が何を表すかを決定し、その値を自身のイメージ処理ルーチンにどのようにマッピングするかを決定する必要があります。

vtbl 32 HRESULT GetTint(DOUBLE* pTint)

raw イメージの色合い (Tint) 値を取得します。

pTintDOUBLE*outraw イメージの色合い (Tint) 値を受け取るポインター。既定値は「撮影時」の設定が存在すればその値、なければ 0.0 です。値の範囲は -1.0 から +1.0 です。下限の -1.0 はイメージへの完全な緑寄りを表し、上限の 1.0 は完全なマゼンタ寄りを表します。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 33 HRESULT SetNoiseReduction(DOUBLE NoiseReduction)

raw イメージのノイズ低減値を設定します。

NoiseReductionDOUBLEinraw イメージのノイズ低減値。既定値は「撮影時」の設定が存在すればその値、なければ 0.0 です。ノイズ低減の値の範囲は 0.0 から 1.0 です。下限の 0.0 はイメージにノイズ低減が適用されていないことを表し、上限の 1.0 は適用できる最大量のノイズ低減を表します。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

コーデック実装者は、上限範囲の値が何を表すかを決定し、その値を自身のイメージ処理ルーチンにどのようにマッピングするかを決定する必要があります。

vtbl 34 HRESULT GetNoiseReduction(DOUBLE* pNoiseReduction)

raw イメージのノイズ低減値を取得します。

pNoiseReductionDOUBLE*outraw イメージのノイズ低減値を受け取るポインター。既定値は「撮影時」の設定が存在すればその値、なければ 0.0 です。ノイズ低減の値の範囲は 0.0 から 1.0 です。下限の 0.0 はイメージにノイズ低減が適用されていないことを表し、上限の 1.0 は適用できる最大量のノイズ低減を表します。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 35 HRESULT SetDestinationColorContext(IWICColorContext* pColorContext)

出力先のカラーコンテキストを設定します。

pColorContextIWICColorContext*in出力先のカラーコンテキスト。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 36 HRESULT SetToneCurve(DWORD cbToneCurveSize, WICRawToneCurve* pToneCurve)

raw イメージのトーンカーブを設定します。

cbToneCurveSizeDWORDinpToneCurve 構造体のサイズ。
pToneCurveWICRawToneCurve*in目的のトーンカーブ。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 37 HRESULT GetToneCurve(DWORD cbToneCurveBufferSize, WICRawToneCurve* pToneCurve, DWORD* pcbActualToneCurveBufferSize)

raw イメージのトーンカーブを取得します。

cbToneCurveBufferSizeDWORDinpToneCurve バッファーのサイズ。
pToneCurveWICRawToneCurve*outoptionalraw イメージの WICRawToneCurve を受け取るポインター。
pcbActualToneCurveBufferSizeDWORD*inoutoptionalトーンカーブ構造体を取得するために必要なサイズを受け取るポインター。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 38 HRESULT SetRotation(DOUBLE Rotation)

目的の回転角度を設定します。

RotationDOUBLEin目的の回転角度。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 39 HRESULT GetRotation(DOUBLE* pRotation)

現在の回転角度を取得します。

pRotationDOUBLE*out現在の回転角度を受け取るポインター。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 40 HRESULT SetRenderMode(WICRawRenderMode RenderMode)

現在の WICRawRenderMode を設定します。

RenderModeWICRawRenderModein使用するレンダーモード。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 41 HRESULT GetRenderMode(WICRawRenderMode* pRenderMode)

現在の WICRawRenderMode を取得します。

pRenderModeWICRawRenderMode*out現在の WICRawRenderMode を受け取るポインター。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 42 HRESULT SetNotificationCallback(IWICDevelopRawNotificationCallback* pCallback)

通知コールバックメソッドを設定します。

pCallbackIWICDevelopRawNotificationCallback*in通知コールバックメソッドへのポインター。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IWICDevelopRaw "{FBEC5E44-F7BE-4B65-B7F8-C0C81FEF026D}"
#usecom global IWICDevelopRaw IID_IWICDevelopRaw "{}"
#comfunc global IWICDevelopRaw_QueryRawCapabilitiesInfo    11 var
#comfunc global IWICDevelopRaw_LoadParameterSet            12 int
#comfunc global IWICDevelopRaw_GetCurrentParameterSet      13 sptr
#comfunc global IWICDevelopRaw_SetExposureCompensation     14 double
#comfunc global IWICDevelopRaw_GetExposureCompensation     15 var
#comfunc global IWICDevelopRaw_SetWhitePointRGB            16 int,int,int
#comfunc global IWICDevelopRaw_GetWhitePointRGB            17 var,var,var
#comfunc global IWICDevelopRaw_SetNamedWhitePoint          18 int
#comfunc global IWICDevelopRaw_GetNamedWhitePoint          19 var
#comfunc global IWICDevelopRaw_SetWhitePointKelvin         20 int
#comfunc global IWICDevelopRaw_GetWhitePointKelvin         21 var
#comfunc global IWICDevelopRaw_GetKelvinRangeInfo          22 var,var,var
#comfunc global IWICDevelopRaw_SetContrast                 23 double
#comfunc global IWICDevelopRaw_GetContrast                 24 var
#comfunc global IWICDevelopRaw_SetGamma                    25 double
#comfunc global IWICDevelopRaw_GetGamma                    26 var
#comfunc global IWICDevelopRaw_SetSharpness                27 double
#comfunc global IWICDevelopRaw_GetSharpness                28 var
#comfunc global IWICDevelopRaw_SetSaturation               29 double
#comfunc global IWICDevelopRaw_GetSaturation               30 var
#comfunc global IWICDevelopRaw_SetTint                     31 double
#comfunc global IWICDevelopRaw_GetTint                     32 var
#comfunc global IWICDevelopRaw_SetNoiseReduction           33 double
#comfunc global IWICDevelopRaw_GetNoiseReduction           34 var
#comfunc global IWICDevelopRaw_SetDestinationColorContext  35 sptr
#comfunc global IWICDevelopRaw_SetToneCurve                36 int,var
#comfunc global IWICDevelopRaw_GetToneCurve                37 int,var,var
#comfunc global IWICDevelopRaw_SetRotation                 38 double
#comfunc global IWICDevelopRaw_GetRotation                 39 var
#comfunc global IWICDevelopRaw_SetRenderMode               40 int
#comfunc global IWICDevelopRaw_GetRenderMode               41 var
#comfunc global IWICDevelopRaw_SetNotificationCallback     42 sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。