ホーム › Graphics.GdiPlus › GdipSetImageAttributesOutputChannel
GdipSetImageAttributesOutputChannel
関数画像属性に出力する色チャンネルを設定する。
シグネチャ
// gdiplus.dll
#include <windows.h>
Status GdipSetImageAttributesOutputChannel(
GpImageAttributes* imageattr,
ColorAdjustType type,
BOOL enableFlag,
ColorChannelFlags channelFlags
);パラメーター
| 名前 | 型 | 方向 |
|---|---|---|
| imageattr | GpImageAttributes* | inout |
| type | ColorAdjustType | in |
| enableFlag | BOOL | in |
| channelFlags | ColorChannelFlags | in |
戻り値の型: Status
各言語での呼び出し定義
// gdiplus.dll
#include <windows.h>
Status GdipSetImageAttributesOutputChannel(
GpImageAttributes* imageattr,
ColorAdjustType type,
BOOL enableFlag,
ColorChannelFlags channelFlags
);[DllImport("gdiplus.dll", ExactSpelling = true)]
static extern int GdipSetImageAttributesOutputChannel(
IntPtr imageattr, // GpImageAttributes* in/out
int type, // ColorAdjustType
bool enableFlag, // BOOL
int channelFlags // ColorChannelFlags
);<DllImport("gdiplus.dll", ExactSpelling:=True)>
Public Shared Function GdipSetImageAttributesOutputChannel(
imageattr As IntPtr, ' GpImageAttributes* in/out
type As Integer, ' ColorAdjustType
enableFlag As Boolean, ' BOOL
channelFlags As Integer ' ColorChannelFlags
) As Integer
End Function' imageattr : GpImageAttributes* in/out
' type : ColorAdjustType
' enableFlag : BOOL
' channelFlags : ColorChannelFlags
Declare PtrSafe Function GdipSetImageAttributesOutputChannel Lib "gdiplus" ( _
ByVal imageattr As LongPtr, _
ByVal type As Long, _
ByVal enableFlag As Long, _
ByVal channelFlags As Long) As Long
' VBA7前提(PtrSafe)。32bit Office では LongPtr→Long。Integer=16bit / Long=32bit / LongLong=64bit。import ctypes
from ctypes import wintypes
GdipSetImageAttributesOutputChannel = ctypes.windll.gdiplus.GdipSetImageAttributesOutputChannel
GdipSetImageAttributesOutputChannel.restype = ctypes.c_int
GdipSetImageAttributesOutputChannel.argtypes = [
ctypes.c_void_p, # imageattr : GpImageAttributes* in/out
ctypes.c_int, # type : ColorAdjustType
wintypes.BOOL, # enableFlag : BOOL
ctypes.c_int, # channelFlags : ColorChannelFlags
]require 'fiddle'
require 'fiddle/import'
lib = Fiddle.dlopen('gdiplus.dll')
GdipSetImageAttributesOutputChannel = Fiddle::Function.new(
lib['GdipSetImageAttributesOutputChannel'],
[
Fiddle::TYPE_VOIDP, # imageattr : GpImageAttributes* in/out
Fiddle::TYPE_INT, # type : ColorAdjustType
Fiddle::TYPE_INT, # enableFlag : BOOL
Fiddle::TYPE_INT, # channelFlags : ColorChannelFlags
],
Fiddle::TYPE_INT)#[link(name = "gdiplus")]
extern "system" {
fn GdipSetImageAttributesOutputChannel(
imageattr: *mut GpImageAttributes, // GpImageAttributes* in/out
type: i32, // ColorAdjustType
enableFlag: i32, // BOOL
channelFlags: i32 // ColorChannelFlags
) -> i32;
}
// crates: windows-sys provides ready-made bindings for this API.$sig = @"
[DllImport("gdiplus.dll")]
public static extern int GdipSetImageAttributesOutputChannel(IntPtr imageattr, int type, bool enableFlag, int channelFlags);
"@
$api = Add-Type -MemberDefinition $sig -Name 'gdiplus_GdipSetImageAttributesOutputChannel' -Namespace Win32 -PassThru
# $api::GdipSetImageAttributesOutputChannel(imageattr, type, enableFlag, channelFlags)#uselib "gdiplus.dll"
#func global GdipSetImageAttributesOutputChannel "GdipSetImageAttributesOutputChannel" sptr, sptr, sptr, sptr
; GdipSetImageAttributesOutputChannel varptr(imageattr), type, enableFlag, channelFlags ; 戻り値は stat
; imageattr : GpImageAttributes* in/out -> "sptr"
; type : ColorAdjustType -> "sptr"
; enableFlag : BOOL -> "sptr"
; channelFlags : ColorChannelFlags -> "sptr"
; ※HSP3.7は #func のため戻り値はシステム変数 stat に格納されます。出力引数:
#uselib "gdiplus.dll" #cfunc global GdipSetImageAttributesOutputChannel "GdipSetImageAttributesOutputChannel" var, int, int, int ; res = GdipSetImageAttributesOutputChannel(imageattr, type, enableFlag, channelFlags) ; imageattr : GpImageAttributes* in/out -> "var" ; type : ColorAdjustType -> "int" ; enableFlag : BOOL -> "int" ; channelFlags : ColorChannelFlags -> "int" ; ※出力/バッファ引数は var 方式(変数を直接渡す)。varptr 方式にも切替可。#uselib "gdiplus.dll" #cfunc global GdipSetImageAttributesOutputChannel "GdipSetImageAttributesOutputChannel" sptr, int, int, int ; res = GdipSetImageAttributesOutputChannel(varptr(imageattr), type, enableFlag, channelFlags) ; imageattr : GpImageAttributes* in/out -> "sptr" ; type : ColorAdjustType -> "int" ; enableFlag : BOOL -> "int" ; channelFlags : ColorChannelFlags -> "int" ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。
出力引数:
; Status GdipSetImageAttributesOutputChannel(GpImageAttributes* imageattr, ColorAdjustType type, BOOL enableFlag, ColorChannelFlags channelFlags) #uselib "gdiplus.dll" #cfunc global GdipSetImageAttributesOutputChannel "GdipSetImageAttributesOutputChannel" var, int, int, int ; res = GdipSetImageAttributesOutputChannel(imageattr, type, enableFlag, channelFlags) ; imageattr : GpImageAttributes* in/out -> "var" ; type : ColorAdjustType -> "int" ; enableFlag : BOOL -> "int" ; channelFlags : ColorChannelFlags -> "int" ; ※出力/バッファ引数は var 方式(変数を直接渡す)。varptr 方式にも切替可。; Status GdipSetImageAttributesOutputChannel(GpImageAttributes* imageattr, ColorAdjustType type, BOOL enableFlag, ColorChannelFlags channelFlags) #uselib "gdiplus.dll" #cfunc global GdipSetImageAttributesOutputChannel "GdipSetImageAttributesOutputChannel" intptr, int, int, int ; res = GdipSetImageAttributesOutputChannel(varptr(imageattr), type, enableFlag, channelFlags) ; imageattr : GpImageAttributes* in/out -> "intptr" ; type : ColorAdjustType -> "int" ; enableFlag : BOOL -> "int" ; channelFlags : ColorChannelFlags -> "int" ; ※出力/バッファ引数はポインタ方式(token=intptr / 呼び出しは varptr(変数))。
import (
"golang.org/x/sys/windows"
"unsafe"
)
var (
gdiplus = windows.NewLazySystemDLL("gdiplus.dll")
procGdipSetImageAttributesOutputChannel = gdiplus.NewProc("GdipSetImageAttributesOutputChannel")
)
// imageattr (GpImageAttributes* in/out), type (ColorAdjustType), enableFlag (BOOL), channelFlags (ColorChannelFlags)
r1, _, err := procGdipSetImageAttributesOutputChannel.Call(
uintptr(imageattr),
uintptr(type),
uintptr(enableFlag),
uintptr(channelFlags),
)
_ = err // syscall.Errno (valid when the call sets last-error)
_ = r1 // Statusfunction GdipSetImageAttributesOutputChannel(
imageattr: Pointer; // GpImageAttributes* in/out
type: Integer; // ColorAdjustType
enableFlag: BOOL; // BOOL
channelFlags: Integer // ColorChannelFlags
): Integer; stdcall;
external 'gdiplus.dll' name 'GdipSetImageAttributesOutputChannel';result := DllCall("gdiplus\GdipSetImageAttributesOutputChannel"
, "Ptr", imageattr ; GpImageAttributes* in/out
, "Int", type ; ColorAdjustType
, "Int", enableFlag ; BOOL
, "Int", channelFlags ; ColorChannelFlags
, "Int") ; return: Status●GdipSetImageAttributesOutputChannel(imageattr, type, enableFlag, channelFlags) = DLL("gdiplus.dll", "int GdipSetImageAttributesOutputChannel(void*, int, bool, int)")
# 呼び出し: GdipSetImageAttributesOutputChannel(imageattr, type, enableFlag, channelFlags)
# imageattr : GpImageAttributes* in/out -> "void*"
# type : ColorAdjustType -> "int"
# enableFlag : BOOL -> "bool"
# channelFlags : ColorChannelFlags -> "int"
# なでしこ1は32bit・ANSI(Shift_JIS)。文字列=char*(ANSI)、ポインタ/ハンドル=void*(4byte)。