ICImagingControl.OverlayUpdate Event
デバイスより新しいフレームが送られてきた際に発生するイベントです。
構文
Public Event OverlayUpdate( ByVal sender As Object, ByVal e As ICImagingControl.OverlayUpdateEventArgs)
[C#]public event System.EventHandler<ICImagingControl.OverlayUpdateEventArgs> OverlayUpdate;
パラメータ | 説 明 |
---|---|
Overlay | ICImagingControl OverlayBitmapオブジェクトを指定します。 |
SampleStartTime | sample start timeを秒で指定します。詳細は「備考」を参照してください。 |
SampleEndTime | Sample End timeを秒で指定します。詳細は「備考」を参照してください。 |
sender | イベントの発生したオブジェクトを指します。ICImagingControlのインスタンスを指します。 |
e | スクロールの情報を含むOverlayUpdateEventArgsクラスライブラリリファレンス>クラス>OverlayUpdateEventArgsオブジェクトを指します。 |
備考
新しいフレームが送られてきた後にOverlayUpdateイベントが発生し、そのイベントサブ関数では新しいフレームにテキストやグラフィック要素を描画することができます。よって各フレームに固有の情報を挿入することが可能となります。
サンプル時間はICImagingControl.LiveStartクラスライブラリリファレンス>クラス>ICImagingControl>ICImagingControl.LiveStart Methodがコールされてから経過した時間を意味し、秒単位で計測されます。SampleStartTimeとSampleEndTimeTheの間の間隔はフレームレートと等しくなります。
このイベントはICImagingControl.ImageAvailableクラスライブラリリファレンス>クラス>ICImagingControl>ICImagingControl.ImageAvailable Eventイベントが発生する前に呼び出されます。
verlayUpdateイベントで発生する例外はシステム内で見失ってしまいます。よってその例外を引き起こすコードのバグを認識することはできません。これを避けるためにイベントハンドラ内の全コードでtry... catchブロックを使用することが必要です。
エラーメッセージを表示させたい場合はメッセージボックスを使わずに"debug trace" (e.g. System.Diagnostics.Trace.WriteLine(...) )を使用してください。でなければシステムがデッドロックに陥り、アプリケーションが停止することになってしまいます。
サンプル
ここの例ではライブ画像にフレームカウントを書き込む方法を紹介します。FrameCountはフォーム内でグローバル宣言されます。
[C#]private void ICImagingControl1_OverlayUpdate( object sender, TIS.ImagingControl.OverlayUpdateEventArgs e )
{
FrameCount = FrameCount + 1;
e.overlay.DrawText(System.Drawing.Color.Orange, 0,0 FrameCount.ToString());
}
関連項目
ICImagingControlクラスライブラリリファレンス>クラス>ICImagingControl, OverlayBitmapクラスライブラリリファレンス>クラス>OverlayBitmap, ICImagingControl.LiveStartクラスライブラリリファレンス>クラス>ICImagingControl>ICImagingControl.LiveStart Method, ICImagingControl.ReferenceTimeStartクラスライブラリリファレンス>クラス>ICImagingControl>ICImagingControl.ReferenceTimeStart Property, ICImagingControl.ReferenceTimeCurrentクラスライブラリリファレンス>クラス>ICImagingControl>ICImagingControl.ReferenceTimeCurrent Property