VintaSoft Imaging .NET SDK 15.1: Документация для .NET разработчика
Vintasoft.Imaging.UI Namespace / ImageViewer Class / Image Property
Синтаксис Ремарки Example Требования Смотрите также
В этом разделе
Image Свойство (ImageViewer)
В этом разделе
Возвращает или устанавливает изображение в фокусе, которое должно отображаться в ImageViewer.
Синтаксис
Ремарки

Это свойство очищает коллекцию изображений этого просмотрщика изображений и добавляет изображение, указанное этим свойством, в коллекцию изображений этого просмотрщика изображений.

Пример

Вот C#/VB.NET код, который демонстрирует, как захватывать изображения с камеры и просматривать захваченные изображения в ImageViewer.


''' <summary>
''' Image capture source.
''' </summary>
Private _imageCaptureSource As Vintasoft.Imaging.Media.ImageCaptureSource



''' <summary>
''' Initializes a new instance of the <see cref="MainForm"/> class.
''' </summary>
Public Sub New()
    InitializeComponent()

    ' get available image capture devices
    Dim availableDevices As System.Collections.ObjectModel.ReadOnlyCollection(Of Vintasoft.Imaging.Media.ImageCaptureDevice) = Vintasoft.Imaging.Media.ImageCaptureDeviceConfiguration.GetCaptureDevices()

    ' create new image capture source
    _imageCaptureSource = New Vintasoft.Imaging.Media.ImageCaptureSource()
    AddHandler _imageCaptureSource.CaptureCompleted, New System.EventHandler(Of Vintasoft.Imaging.Media.ImageCaptureCompletedEventArgs)(AddressOf ImageCaptureSource_CaptureCompleted)

    ' if there are available devices
    If availableDevices.Count <> 0 Then
        ' use the first image capture device
        _imageCaptureSource.CaptureDevice = availableDevices(0)
    End If

    AddHandler Shown, New System.EventHandler(AddressOf MainForm_Shown)
    AddHandler FormClosed, New System.Windows.Forms.FormClosedEventHandler(AddressOf MainForm_FormClosed)
End Sub



''' <summary>
''' Starts capturing from camera.
''' </summary>
Private Sub MainForm_Shown(sender As Object, e As System.EventArgs)
    ' if capture device is empty
    If _imageCaptureSource.CaptureDevice IsNot Nothing Then
        ' start the image capture source
        _imageCaptureSource.Start()
        ' initialize new image capture request
        _imageCaptureSource.CaptureAsync()
    End If
End Sub

''' <summary>
''' Image is captured.
''' </summary>
Private Sub ImageCaptureSource_CaptureCompleted(sender As Object, e As Vintasoft.Imaging.Media.ImageCaptureCompletedEventArgs)
    ' save reference to the previously captured image
    Dim oldImage As Vintasoft.Imaging.VintasoftImage = imageViewer1.Image

    ' get captured image and show captured image in the image viewer
    imageViewer1.Image = e.GetCapturedImage()

    ' if previously captured image exists
    If oldImage IsNot Nothing Then
        ' dispose previously captured image
        oldImage.Dispose()
    End If

    ' if capture source is started
    If _imageCaptureSource.State = Vintasoft.Imaging.Media.ImageCaptureState.Started Then
        ' initialize new image capture request
        _imageCaptureSource.CaptureAsync()
    End If
End Sub

''' <summary>
''' Form is closed.
''' </summary>
Private Sub MainForm_FormClosed(sender As Object, e As System.Windows.Forms.FormClosedEventArgs)
    ' stop the image capture source
    _imageCaptureSource.[Stop]()
End Sub


/// <summary>
/// Image capture source.
/// </summary>
Vintasoft.Imaging.Media.ImageCaptureSource _imageCaptureSource;



/// <summary>
/// Initializes a new instance of the <see cref="MainForm"/> class.
/// </summary>
public MainForm()
{
    InitializeComponent();

    // get available image capture devices
    System.Collections.ObjectModel.ReadOnlyCollection<Vintasoft.Imaging.Media.ImageCaptureDevice> availableDevices =
        Vintasoft.Imaging.Media.ImageCaptureDeviceConfiguration.GetCaptureDevices();

    // create new image capture source
    _imageCaptureSource = new Vintasoft.Imaging.Media.ImageCaptureSource();
    _imageCaptureSource.CaptureCompleted +=
        new System.EventHandler<Vintasoft.Imaging.Media.ImageCaptureCompletedEventArgs>(ImageCaptureSource_CaptureCompleted);

    // if there are available devices
    if (availableDevices.Count != 0)
    {
        // use the first image capture device
        _imageCaptureSource.CaptureDevice = availableDevices[0];
    }

    Shown += new System.EventHandler(MainForm_Shown);
    FormClosed += new System.Windows.Forms.FormClosedEventHandler(MainForm_FormClosed);
}



/// <summary>
/// Starts capturing from camera.
/// </summary>
private void MainForm_Shown(object sender, System.EventArgs e)
{
    // if capture device is empty
    if (_imageCaptureSource.CaptureDevice != null)
    {
        // start the image capture source
        _imageCaptureSource.Start();
        // initialize new image capture request
        _imageCaptureSource.CaptureAsync();
    }
}

/// <summary>
/// Image is captured.
/// </summary>
private void ImageCaptureSource_CaptureCompleted(object sender, Vintasoft.Imaging.Media.ImageCaptureCompletedEventArgs e)
{
    // save reference to the previously captured image
    Vintasoft.Imaging.VintasoftImage oldImage = imageViewer1.Image;

    // get captured image and show captured image in the image viewer
    imageViewer1.Image = e.GetCapturedImage();

    // if previously captured image exists
    if (oldImage != null)
    {
        // dispose previously captured image
        oldImage.Dispose();
    }

    // if capture source is started
    if (_imageCaptureSource.State == Vintasoft.Imaging.Media.ImageCaptureState.Started)
    {
        // initialize new image capture request
        _imageCaptureSource.CaptureAsync();
    }
}

/// <summary>
/// Form is closed.
/// </summary>
private void MainForm_FormClosed(object sender, System.Windows.Forms.FormClosedEventArgs e)
{
    // stop the image capture source
    _imageCaptureSource.Stop();
}

Требования

Целевые платформы: .NET 10; .NET 9; .NET 8; .NET 7; .NET 6; .NET Framework 4.8, 4.7, 4.6, 4.5, 4.0, 3.5

Смотрите также