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;
パラメータ 説  明
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());
}