Assembly: FVILdevice (in FVILdevice.dll) Version: 3.1.0.0 (3.1.0.5)
Syntax
C# |
---|
public virtual void MemoryLock( CFviPoint pos, uint num ) |
Visual Basic |
---|
Public Overridable Sub MemoryLock ( pos As CFviPoint, num As UInteger ) |
Remarks
画像メモリをロックし、連続取り込みが行える状態にします。 予め、連続取り込み先の画像オブジェクトのコレクション に指定枚数の画像オブジェクトを設定しておいてください。 ロックした画像メモリを解放したり、サイズ変更してはいけません。
Imagesで、FVIL.ImageType.UC8の画像をロックし、画像入力を行った場合、
グレイ画像で、画像取り込みが行われます。
Imagesで、FVIL.ImageType.BINの画像をロックし、画像入力を行った場合、
2値画像で、画像取り込みが行われます。
画像オブジェクトの画像サイズは、すべてのフレームにおいて、入力画像サイズと等しいか、大きくなければいけません。 また、画像タイプはすべてのフレームにおいて、FVIL.ImageType.UC8または、FVIL.ImageType.BINに統一されていなければなりません。
画像メモリ上で、カメラからの画像データがどの位置に入力するか指定することが可能です。 このとき、画像入力位置+取り込み画像サイズが画像オブジェクトの画像サイズを超えたいた場合、本メソッドはエラーを返します。
第1引数に、(0,0)を設定した場合、 MemoryLock(UInt32) と同じ動作となります。
横方向画像サイズは8byte単位でなければいけません。
画像入力開始位置の水平位置は、グレイ画像の場合8画素単位、2値画像の場合は64画素単位に丸めこまれます(切り捨て)。
画像入力開始位置の垂直位置は、1画素単位で指定可能です。
処理に失敗した場合は例外を発行します。 例外の原因と発生位置を特定するには、発行された例外クラスの ErrorCode メンバと Function メンバを参照してください。
エラーコード:
値 | ErrorCode メンバ | 内容 |
---|---|---|
1 | FVIL.ErrorCode.FAILED_TO_ALLOCATE | メモリの確保に失敗しました。 |
11 | FVIL.ErrorCode.INVALID_PARAMETER | 引数が不正です。 |
16 | FVIL.ErrorCode.INVALID_IMAGETYPE | 画像タイプが、UC8またはBINで以外です。 |
17 | FVIL.ErrorCode.INVALID_IMAGESIZE | 画像サイズが、入力画像よりも小さいです。または、画像サイズが65536以上です。 |
25 | FVIL.ErrorCode.NOT_OPENED | デバイスがオープンされていません。 |
31046 | FVIL.Video.ErrorCode.MEMORY_LOCK | メモリロックに失敗しました。 ロックするだけの連続メモリが足りない可能性があります。 |
31078 | FVIL.Video.ErrorCode.SET_PARAMETER | 画像情報を設定できません。 |
31079 | FVIL.Video.ErrorCode.GET_PARAMETER | ボードから情報を取得できません。 |
Exceptions
Exception | Condition |
---|---|
FVIL..::..CFviException | この例外の原因については、上記のエラーコード表をご参照ください。 |