画像メモリの先頭アドレスの取得

Namespace: FVIL.Data
Assembly: FVILbasic (in FVILbasic.dll) Version: 3.1.0.0 (3.1.0.17)

Syntax

C#
public virtual IntPtr GetImageAdrs(
	int ch,
	int x,
	int y
)
Visual Basic
Public Overridable Function GetImageAdrs ( 
	ch As Integer,
	x As Integer,
	y As Integer
) As IntPtr

Parameters

ch
Type: System..::..Int32
チャネル番号 [0~]
x
Type: System..::..Int32
水平座標 [0~]
y
Type: System..::..Int32
垂直座標 [0~]

Return Value

Type: IntPtr
画像メモリの先頭アドレスを返します。
メモリが確保されていない場合は、引数の整合性に関わらず常に IntPtr.Zero が返ります。

Remarks

このアドレスは、 GetRootAdrs から取得される画像アドレスにオフセットを加算したものです。
ポインタ走査を行う場合は、このメソッドから取得されたアドレスをご使用ください。 2値画像の時は更に GetBitPosition(Int32) を使用してビット位置を取得してください。

引数 x, y に 0,0 以外の座標が指定された場合は、該当する画素位置のアドレスを返します。 水平方向のアドレスの走査は、現在の画像種別に依存します。 例えば、 UC8 の場合は 1byte単位で走査しますが、 US16 の場合は 2byte単位の走査になります。 例外として、 BIN の場合のみ 4byte単位で走査します。 この場合の戻り値は、 x に 0~31 が指定された場合は 0 DWORD目の先頭アドレスとなり、 x に 32~63 が指定された場合は 1 DWORD目の先頭アドレスが返ります。

取得に失敗した場合は例外を発行します。 例外の原因と発生位置を特定するには、発行された例外クラスの ErrorCode メンバと Function メンバを参照してください。

エラーコード:

ErrorCode メンバ内容
11FVIL.ErrorCode.INVALID_PARAMETERチャネル番号または座標値が不正です。

Exceptions

ExceptionCondition
FVIL..::..CFviExceptionこの例外の原因については、上記のエラーコード表をご参照ください。

See Also