ICImagingControl.MemorySnapImage Method
このメソッドはライブ画像ストリームより静止画をキャプチャします。
構文
Public Sub MemorySaveImage
Public Sub MemorySaveImage( timeoutInMs As Integer )
[C#]public void MemorySaveImage();
public void MemorySaveImage( int timeoutInMs );
パラメータ | 説明 |
---|---|
timeoutInMs | キャプチャのタイムアウト値をミリ秒単位で指定します。 |
備考
このメソッドはライブ画像ストリームより静止画をキャプチャしリングバッファに保存します。そのバッファはICImagingControl.MemorySaveImageクラスライブラリリファレンス>クラス>ICImagingControl>ICImagingControl.MemorySaveImage Methodメソッドを使ってファイルに保存することが可能です。
もしすでにライブ表示中であれば、MemorySnapImageにおける最長キャプチャ時間はフレームレートの時間間隔の2倍となります。 MemorySnapImageは次に新しく送られて来る画像をキャプチャします。
ライブ表示を開始していない状態でMemorySnapImageを呼び出した場合、MemorySnapImageによって自動的に開始されるようになっています。そして1枚の画像が取り込まれた後に停止します。アプリケーション内でMemorySnapImageを頻繁に呼び出し、開始-取り込み-停止の作業を繰り返すと、非常に処理に時間がかかってしまします。よって一度アプリケーションでLiveStartクラスライブラリリファレンス>クラス>ICImagingControl>ICImagingControl.LiveStart Methodを呼び出し、終了とともにライブ画像ストリームを停止させることが推奨されます。
LiveCaptureContinuousクラスライブラリリファレンス>クラス>ICImagingControl>ICImagingControl.LiveCaptureContinuous Propertyがtrueである時、MemorySnapImageはエラーコード ICException.ErrorCodes.NotAvailableOutsideSnapModeと共にICExceptionクラスライブラリリファレンス>クラス>ICExceptionを投げます。
タイムアウト時間内に一枚もデバイスから画像が送られてこない場合、例外が投げられます。
外部トリガーカメラが使用されている場合、MemorySnapImageの使用は避けてください。戻り値を返すまでアプリケーションを停止させてしまいます。トリガー付きカメラを使用する際はImageAvailableクラスライブラリリファレンス>クラス>ICImagingControl>ICImagingControl.ImageAvailable Eventイベントを使用することが推奨されます。
情報
このメソッドはICImagingControl3.5より非推奨となります。
新しいSinkのメソッドを使用してください。
構文
以下のコードはタイムアウト値を1000ミリ秒に設定して、画像をキャプチャするようにしています。キャプチャされた画像はPictureBox内で表示されます。
[VB.NET]IcImagingControl1.LiveStart()
Try
' タイムアウト値を1000ミリ秒に設定
IcImagingControl1.MemorySnapImage(1000)
' キャプチャした画像を PictureBoxで表示
PictureBox1.Image = IcImagingControl1.ImageActiveBuffer.Bitmap
Catch Ex As ICException
MessageBox.Show(Ex.Message)
End Try
IcImagingControl1.LiveStop()
[C#]ICImagingControl1.LiveStart();
try
{
// タイムアウト値を 1000ミリ秒に設定
ICImagingControl1.MemorySnapImage(1000);
// キャプチャした画像 をPictureBoxで表示
pictureBox1.Image = ICImagingControl1.ImageActiveBuffer.Bitmap; }
catch (ICException Ex)
{
MessageBox.Show(Ex.Message, "MemorySnapImage Error");
}
ICImagingControl1.LiveStop();
関連項目
ICImagingControlクラスライブラリリファレンス>クラス>ICImagingControl, ICImagingControl.MemorySaveImageクラスライブラリリファレンス>クラス>ICImagingControl>ICImagingControl.MemorySaveImage Method, ICImagingControl.ImageActiveBufferクラスライブラリリファレンス>クラス>ICImagingControl>ICImagingControl.ImageActiveBuffer Property, ICException.ErrorCodesクラスライブラリリファレンス>クラス>ICException>ICException.ErrorCodes