ホーム › Graphics.Imaging › WICRawCapabilitiesInfo
WICRawCapabilitiesInfo
構造体サイズ=各フィールドのバイト数(x64/x86 で異なる場合は x64/x86 と併記)。x64/x86 列=フィールドのバイトオフセット(HSPで dupptr / lpoke / wpoke 等に使用)。
フィールド
| フィールド | 型 | サイズ | x64 | x86 | 説明 |
|---|---|---|---|---|---|
| cbSize | DWORD | 4 | +0 | +0 | 本構造体のサイズ(バイト単位)。呼び出し前に設定する。 |
| CodecMajorVersion | DWORD | 4 | +4 | +4 | RAWコーデックのメジャーバージョン番号。 |
| CodecMinorVersion | DWORD | 4 | +8 | +8 | RAWコーデックのマイナーバージョン番号。 |
| ExposureCompensationSupport | WICRawCapabilities | 4 | +12 | +12 | 露出補正のサポート状況を示すWICRawCapabilities列挙値。 |
| ContrastSupport | WICRawCapabilities | 4 | +16 | +16 | コントラスト調整のサポート状況を示すWICRawCapabilities列挙値。 |
| RGBWhitePointSupport | WICRawCapabilities | 4 | +20 | +20 | RGB指定によるホワイトポイント調整のサポート状況。 |
| NamedWhitePointSupport | WICRawCapabilities | 4 | +24 | +24 | 名前付きホワイトポイント(昼光等)のサポート状況。 |
| NamedWhitePointSupportMask | DWORD | 4 | +28 | +28 | サポートされる名前付きホワイトポイントを示すビットマスク。 |
| KelvinWhitePointSupport | WICRawCapabilities | 4 | +32 | +32 | 色温度(ケルビン)指定ホワイトポイントのサポート状況。 |
| GammaSupport | WICRawCapabilities | 4 | +36 | +36 | ガンマ調整のサポート状況を示すWICRawCapabilities列挙値。 |
| TintSupport | WICRawCapabilities | 4 | +40 | +40 | 色合い(ティント)調整のサポート状況。 |
| SaturationSupport | WICRawCapabilities | 4 | +44 | +44 | 彩度調整のサポート状況。 |
| SharpnessSupport | WICRawCapabilities | 4 | +48 | +48 | シャープネス調整のサポート状況。 |
| NoiseReductionSupport | WICRawCapabilities | 4 | +52 | +52 | ノイズリダクションのサポート状況。 |
| DestinationColorProfileSupport | WICRawCapabilities | 4 | +56 | +56 | 出力カラープロファイル指定のサポート状況。 |
| ToneCurveSupport | WICRawCapabilities | 4 | +60 | +60 | トーンカーブ調整のサポート状況。 |
| RotationSupport | WICRawRotationCapabilities | 4 | +64 | +64 | 回転処理のサポート状況を示すWICRawRotationCapabilities列挙値。 |
| RenderModeSupport | WICRawCapabilities | 4 | +68 | +68 | レンダリングモード切替のサポート状況。 |
各言語での定義
#include <windows.h>
// WICRawCapabilitiesInfo (x64 72 / x86 72 バイト)
typedef struct WICRawCapabilitiesInfo {
DWORD cbSize;
DWORD CodecMajorVersion;
DWORD CodecMinorVersion;
WICRawCapabilities ExposureCompensationSupport;
WICRawCapabilities ContrastSupport;
WICRawCapabilities RGBWhitePointSupport;
WICRawCapabilities NamedWhitePointSupport;
DWORD NamedWhitePointSupportMask;
WICRawCapabilities KelvinWhitePointSupport;
WICRawCapabilities GammaSupport;
WICRawCapabilities TintSupport;
WICRawCapabilities SaturationSupport;
WICRawCapabilities SharpnessSupport;
WICRawCapabilities NoiseReductionSupport;
WICRawCapabilities DestinationColorProfileSupport;
WICRawCapabilities ToneCurveSupport;
WICRawRotationCapabilities RotationSupport;
WICRawCapabilities RenderModeSupport;
} WICRawCapabilitiesInfo;using System;
using System.Runtime.InteropServices;
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct WICRawCapabilitiesInfo
{
public uint cbSize;
public uint CodecMajorVersion;
public uint CodecMinorVersion;
public int ExposureCompensationSupport;
public int ContrastSupport;
public int RGBWhitePointSupport;
public int NamedWhitePointSupport;
public uint NamedWhitePointSupportMask;
public int KelvinWhitePointSupport;
public int GammaSupport;
public int TintSupport;
public int SaturationSupport;
public int SharpnessSupport;
public int NoiseReductionSupport;
public int DestinationColorProfileSupport;
public int ToneCurveSupport;
public int RotationSupport;
public int RenderModeSupport;
}Imports System.Runtime.InteropServices
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure WICRawCapabilitiesInfo
Public cbSize As UInteger
Public CodecMajorVersion As UInteger
Public CodecMinorVersion As UInteger
Public ExposureCompensationSupport As Integer
Public ContrastSupport As Integer
Public RGBWhitePointSupport As Integer
Public NamedWhitePointSupport As Integer
Public NamedWhitePointSupportMask As UInteger
Public KelvinWhitePointSupport As Integer
Public GammaSupport As Integer
Public TintSupport As Integer
Public SaturationSupport As Integer
Public SharpnessSupport As Integer
Public NoiseReductionSupport As Integer
Public DestinationColorProfileSupport As Integer
Public ToneCurveSupport As Integer
Public RotationSupport As Integer
Public RenderModeSupport As Integer
End Structureimport ctypes
from ctypes import wintypes
class WICRawCapabilitiesInfo(ctypes.Structure):
_fields_ = [
("cbSize", wintypes.DWORD),
("CodecMajorVersion", wintypes.DWORD),
("CodecMinorVersion", wintypes.DWORD),
("ExposureCompensationSupport", ctypes.c_int),
("ContrastSupport", ctypes.c_int),
("RGBWhitePointSupport", ctypes.c_int),
("NamedWhitePointSupport", ctypes.c_int),
("NamedWhitePointSupportMask", wintypes.DWORD),
("KelvinWhitePointSupport", ctypes.c_int),
("GammaSupport", ctypes.c_int),
("TintSupport", ctypes.c_int),
("SaturationSupport", ctypes.c_int),
("SharpnessSupport", ctypes.c_int),
("NoiseReductionSupport", ctypes.c_int),
("DestinationColorProfileSupport", ctypes.c_int),
("ToneCurveSupport", ctypes.c_int),
("RotationSupport", ctypes.c_int),
("RenderModeSupport", ctypes.c_int),
]#[repr(C)]
pub struct WICRawCapabilitiesInfo {
pub cbSize: u32,
pub CodecMajorVersion: u32,
pub CodecMinorVersion: u32,
pub ExposureCompensationSupport: i32,
pub ContrastSupport: i32,
pub RGBWhitePointSupport: i32,
pub NamedWhitePointSupport: i32,
pub NamedWhitePointSupportMask: u32,
pub KelvinWhitePointSupport: i32,
pub GammaSupport: i32,
pub TintSupport: i32,
pub SaturationSupport: i32,
pub SharpnessSupport: i32,
pub NoiseReductionSupport: i32,
pub DestinationColorProfileSupport: i32,
pub ToneCurveSupport: i32,
pub RotationSupport: i32,
pub RenderModeSupport: i32,
}import "golang.org/x/sys/windows"
type WICRawCapabilitiesInfo struct {
cbSize uint32
CodecMajorVersion uint32
CodecMinorVersion uint32
ExposureCompensationSupport int32
ContrastSupport int32
RGBWhitePointSupport int32
NamedWhitePointSupport int32
NamedWhitePointSupportMask uint32
KelvinWhitePointSupport int32
GammaSupport int32
TintSupport int32
SaturationSupport int32
SharpnessSupport int32
NoiseReductionSupport int32
DestinationColorProfileSupport int32
ToneCurveSupport int32
RotationSupport int32
RenderModeSupport int32
}type
WICRawCapabilitiesInfo = record
cbSize: DWORD;
CodecMajorVersion: DWORD;
CodecMinorVersion: DWORD;
ExposureCompensationSupport: Integer;
ContrastSupport: Integer;
RGBWhitePointSupport: Integer;
NamedWhitePointSupport: Integer;
NamedWhitePointSupportMask: DWORD;
KelvinWhitePointSupport: Integer;
GammaSupport: Integer;
TintSupport: Integer;
SaturationSupport: Integer;
SharpnessSupport: Integer;
NoiseReductionSupport: Integer;
DestinationColorProfileSupport: Integer;
ToneCurveSupport: Integer;
RotationSupport: Integer;
RenderModeSupport: Integer;
end;const WICRawCapabilitiesInfo = extern struct {
cbSize: u32,
CodecMajorVersion: u32,
CodecMinorVersion: u32,
ExposureCompensationSupport: i32,
ContrastSupport: i32,
RGBWhitePointSupport: i32,
NamedWhitePointSupport: i32,
NamedWhitePointSupportMask: u32,
KelvinWhitePointSupport: i32,
GammaSupport: i32,
TintSupport: i32,
SaturationSupport: i32,
SharpnessSupport: i32,
NoiseReductionSupport: i32,
DestinationColorProfileSupport: i32,
ToneCurveSupport: i32,
RotationSupport: i32,
RenderModeSupport: i32,
};type
WICRawCapabilitiesInfo {.bycopy.} = object
cbSize: uint32
CodecMajorVersion: uint32
CodecMinorVersion: uint32
ExposureCompensationSupport: int32
ContrastSupport: int32
RGBWhitePointSupport: int32
NamedWhitePointSupport: int32
NamedWhitePointSupportMask: uint32
KelvinWhitePointSupport: int32
GammaSupport: int32
TintSupport: int32
SaturationSupport: int32
SharpnessSupport: int32
NoiseReductionSupport: int32
DestinationColorProfileSupport: int32
ToneCurveSupport: int32
RotationSupport: int32
RenderModeSupport: int32struct WICRawCapabilitiesInfo
{
uint cbSize;
uint CodecMajorVersion;
uint CodecMinorVersion;
int ExposureCompensationSupport;
int ContrastSupport;
int RGBWhitePointSupport;
int NamedWhitePointSupport;
uint NamedWhitePointSupportMask;
int KelvinWhitePointSupport;
int GammaSupport;
int TintSupport;
int SaturationSupport;
int SharpnessSupport;
int NoiseReductionSupport;
int DestinationColorProfileSupport;
int ToneCurveSupport;
int RotationSupport;
int RenderModeSupport;
}HSP用 定義
HSP3.7/3.8 は構造体機能が無いため4byte整数配列(dim)+peek/poke で操作(32/64bitでサイズ・位置が異なる場合はタブで分割)。IronHSP は NSTRUCT(#defstruct/stdim/->)で32/64bit共通。
; HSP3.7/3.8 は構造体機能が無いため、4byte整数の配列変数で操作します。(x64 レイアウト)
; WICRawCapabilitiesInfo サイズ: 72 バイト(x64)
dim st, 18 ; 4byte整数×18(構造体サイズ 72 / 4 切り上げ)
; cbSize : DWORD (+0, 4byte) st.0 = 値 / 値 = st.0 (lpoke/lpeek も可)
; CodecMajorVersion : DWORD (+4, 4byte) st.1 = 値 / 値 = st.1 (lpoke/lpeek も可)
; CodecMinorVersion : DWORD (+8, 4byte) st.2 = 値 / 値 = st.2 (lpoke/lpeek も可)
; ExposureCompensationSupport : WICRawCapabilities (+12, 4byte) st.3 = 値 / 値 = st.3 (lpoke/lpeek も可)
; ContrastSupport : WICRawCapabilities (+16, 4byte) st.4 = 値 / 値 = st.4 (lpoke/lpeek も可)
; RGBWhitePointSupport : WICRawCapabilities (+20, 4byte) st.5 = 値 / 値 = st.5 (lpoke/lpeek も可)
; NamedWhitePointSupport : WICRawCapabilities (+24, 4byte) st.6 = 値 / 値 = st.6 (lpoke/lpeek も可)
; NamedWhitePointSupportMask : DWORD (+28, 4byte) st.7 = 値 / 値 = st.7 (lpoke/lpeek も可)
; KelvinWhitePointSupport : WICRawCapabilities (+32, 4byte) st.8 = 値 / 値 = st.8 (lpoke/lpeek も可)
; GammaSupport : WICRawCapabilities (+36, 4byte) st.9 = 値 / 値 = st.9 (lpoke/lpeek も可)
; TintSupport : WICRawCapabilities (+40, 4byte) st.10 = 値 / 値 = st.10 (lpoke/lpeek も可)
; SaturationSupport : WICRawCapabilities (+44, 4byte) st.11 = 値 / 値 = st.11 (lpoke/lpeek も可)
; SharpnessSupport : WICRawCapabilities (+48, 4byte) st.12 = 値 / 値 = st.12 (lpoke/lpeek も可)
; NoiseReductionSupport : WICRawCapabilities (+52, 4byte) st.13 = 値 / 値 = st.13 (lpoke/lpeek も可)
; DestinationColorProfileSupport : WICRawCapabilities (+56, 4byte) st.14 = 値 / 値 = st.14 (lpoke/lpeek も可)
; ToneCurveSupport : WICRawCapabilities (+60, 4byte) st.15 = 値 / 値 = st.15 (lpoke/lpeek も可)
; RotationSupport : WICRawRotationCapabilities (+64, 4byte) st.16 = 値 / 値 = st.16 (lpoke/lpeek も可)
; RenderModeSupport : WICRawCapabilities (+68, 4byte) st.17 = 値 / 値 = st.17 (lpoke/lpeek も可)
; ※4byte境界の整数は添字 st.N(N=オフセット/4)で読み書き可。それ以外は peek/poke 系を使用。; IronHSP は NSTRUCT(構造体)をサポート。32bit/64bit どちらでも同じコードで動作します。
#defstruct global WICRawCapabilitiesInfo
#field int cbSize
#field int CodecMajorVersion
#field int CodecMinorVersion
#field int ExposureCompensationSupport
#field int ContrastSupport
#field int RGBWhitePointSupport
#field int NamedWhitePointSupport
#field int NamedWhitePointSupportMask
#field int KelvinWhitePointSupport
#field int GammaSupport
#field int TintSupport
#field int SaturationSupport
#field int SharpnessSupport
#field int NoiseReductionSupport
#field int DestinationColorProfileSupport
#field int ToneCurveSupport
#field int RotationSupport
#field int RenderModeSupport
#endstruct
stdim st, WICRawCapabilitiesInfo ; NSTRUCT 変数を確保
st->cbSize = 100
mes "cbSize=" + st->cbSize