画像メモリの先頭アドレスの取得
Namespace: FVIL.DataAssembly: 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 メンバ | 内容 |
---|---|---|
11 | FVIL.ErrorCode.INVALID_PARAMETER | チャネル番号または座標値が不正です。 |
Exceptions
Exception | Condition |
---|---|
FVIL..::..CFviException | この例外の原因については、上記のエラーコード表をご参照ください。 |