ICImagingControl.OverlayUpdate Event
デバイスより新しいフレームが送られてきた際に発生するイベントです。
構文
Public Event OverlayUpdate( ByVal sender As Object, ByVal e As ICImagingControl.OverlayUpdateEventArgs)
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 はフォーム内でグローバル宣言されます。
If IcImagingControl1.DeviceValid = True Then
' overlay updateイベントが有効かどうかをチェック
If IcImagingControl1.OverlayUpdateEventEnable = False Then
' overlay updateイベントを有効化
IcImagingControl1.OverlayUpdateEventEnable = True
End If
End If
if (ICImagingControl1.DeviceValid)
{
// overlay updateイベントが有効かどうかをチェック
if ( !ICImagingControl1.OverlayUpdateEventEnable )
{
// overlay updateイベントを有効化
ICImagingControl1.OverlayUpdateEventEnable = true;
}
}
関連項目
ICImagingControlクラスライブラリリファレンス>クラス>ICImagingControl, OverlayBitmapクラスライブラリリファレンス>クラス>OverlayBitmap, ICImagingControl.LiveStartクラスライブラリリファレンス>クラス>ICImagingControl>ICImagingControl.LiveStart Method, ICImagingControl.ReferenceTimeStartクラスライブラリリファレンス>クラス>ICImagingControl>ICImagingControl.ReferenceTimeStart Property, ICImagingControl.ReferenceTimeCurrentクラスライブラリリファレンス>クラス>ICImagingControl>ICImagingControl.ReferenceTimeCurrent Property