ICImagingControl.ImageAvailable Event[非推奨]

内部リングバッファへの画像フレームのコピーが完了した時点で発生するイベントです。

構文

[VB.NET]
Public Event ImageAvailable( ByVal sender As Object, ByVal e As ICImagingControl.ImageAvailableEventArgs )
[C#]
public event System.EventHandler<ICImagingControl.ImageAvailableEventArgs> ImageAvailable;
パラメータ 説明
sender イベントの発生したオブジェクトを指します。ICImagingControlのインスタンスということになります。
e イベントを呼び出すバッファのインデックスを含むImageAvailableEventArgsクラスライブラリリファレンス>クラス>ImageAvailableEventArgsオブジェクトを指します。

制限

ImageAvailableイベントが発生する前に、ICImagingControl.LiveCaptureContinuousクラスライブラリリファレンス>クラス>ICImagingControl>ICImagingControl.LiveCaptureContinuous PropertyはTrueに設定している必要があります。コントロールはライブモードで動作しているおり、イベントシンクは登録されていなければなりません。(これはVisualBasicにより行われます)

備考

イベント内ではSendMessageのようなエディットボックスにテキストを加える処理をもたらすWindows API関数は使用しないでください。アプリケーションをブロックさせる恐れがあります。
イベントプロシージャが動作している間は新しいイベントが送られることはありませんが、フレームはコピーされます。
ImageAvailableイベントで発生する例外はシステム内で見失ってしまいます。よってその例外を引き起こすコードのバグを認識することはできません。これを避けるためにイベントハンドラ内の全コードでtry ... catchブロックを使用することが必要です。エラーメッセージを表示させたい場合はメッセージボックスを使わずに"debug trace" (e.g. System.Diagnostics.Trace.WriteLine(...))を使用してください。でなければシステムがデッドロックに陥り、アプリケーションが停止することになってしまいます。

情報

このクラスはICImagingControl3.5より非推奨となります。
新しいSinkオブジェクトを使用してください。

サンプル

ICImagingControl3.5ではImageAvailableイベントは[非推奨]となっております。
ICImagingControl3.5でImageAvailableイベントのようにイメージバッファの取得する処理には フレームの受け皿となるシンクを使用して、そこからバッファを取得する必要があります。
ICImagingControl3.5でイメージバッファを取得する方法については、
サンプルプログラム:イベントを使ってバッファを表示させる(Display Buffer)プログラマーズガイド>イベントを使ってバッファを表示させるを参照ください。 FrameQueuSinkを使うことでイメージバッファの表示をコントロールすることができます。