ICImagingControl.OverlayUpdate Event

デバイスより新しいフレームが送られてきた際に発生するイベントです。

構文

[VB.NET]
Public Event OverlayUpdate( ByVal sender As Object, ByVal e As ICImagingControl.OverlayUpdateEventArgs)
[C#]
public event System.EventHandler<ICImagingControl.OverlayUpdateEventArgs> OverlayUpdate; 
パラメータ 説  明
sender イベントの発生したオブジェクトを指します。ICImagingControlのインスタンスを指します。
e スクロールの情報を含むOverlayUpdateEventArgsクラスライブラリリファレンス>クラス>OverlayUpdateEventArgsオブジェクトを指します。

備考

新しいフレームが送られてきた後にOverlayUpdateイベントが発生し、そのイベントサブ関数では新しいフレームにテキストやグラフィック要素を描画することができます。よって各フレームに固有の情報を挿入することが可能となります。

サンプル時間はICImagingControl.LiveStartクラスライブラリリファレンス>クラス>ICImagingControl>ICImagingControl.LiveStart Methodがコールされてから経過した時間を意味し、秒単位で計測されます。 SampleStartTime とSampleEndTimeTheの間の間隔はフレームレートと等しくなります。

このイベントはImageAvailableクラスライブラリリファレンス>クラス>ICImagingControl>ICImagingControl.ImageAvailable Eventイベントが発生する前に呼び出されます。

OverlayUpdateイベントで発生する例外はシステム内で見失ってしまいます。よ ってその例外を引き起こすコードのバグを認識することはできません。これを避けるためにイベントハンドラ内の全コードでtry ... catchブロックを使用することが必要です。
エラーメッセージを表示させたい場合はメッセージボックスを使わずに"debug trace"  (e.g. System.Diagnostics.Trace.WriteLine(...) )を使用してください。でなければシステムがデッドロックに陥り、アプリケーションが停止することになってしまいます。

サンプル

ここの例ではライブ画像にフレームカウントを書き込む方法を紹介します。FrameCount はフォーム内でグローバル宣言されます。

[VB.NET]
If IcImagingControl1.DeviceValid = True Then
     '  overlay updateイベントが有効かどうかをチェック
     If IcImagingControl1.OverlayUpdateEventEnable = False Then
         '  overlay updateイベントを有効化
         IcImagingControl1.OverlayUpdateEventEnable = True
     End If
End If
[C#]
if (ICImagingControl1.DeviceValid)
{
     //  overlay updateイベントが有効かどうかをチェック
     if ( !ICImagingControl1.OverlayUpdateEventEnable )
     {
         //  overlay updateイベントを有効化
         ICImagingControl1.OverlayUpdateEventEnable = true;
     }
}