Как я могу заморозить видео, отображаемое в CameraControl? - PullRequest
0 голосов
/ 07 мая 2019

Как я могу заморозить видео, отображаемое в CameraControl, когда вызывается TakeSnapshot () для отображения извлеченного изображения?

По сути, я бы хотел перестроить то же поведение при захвате, что и в классе TakePictureDialog devexpress, в моей собственной форме, поскольку в TakePictureDialog не представляется возможным сохранить выбранное пользователем устройство камеры, что мне нужно сделать. в моем приложении, хотя.

Я следовал инструкциям и примерам в этих статьях:

1 Ответ

0 голосов
/ 07 мая 2019

Добро пожаловать в stackoverflow.

CameraControl не предоставляет саму эту функциональность.

В любом случае вы можете использовать событие Paint для визуализации изображения, полученного с помощью TakeSnapshot.

Примерно так:

private void CameraControl1_Paint(object sender, PaintEventArgs e)
{
    CameraControl c = sender as CameraControl;
    if (isStopped && img != null)
         e.Graphics.DrawImage(img, new Rectangle(0,0, c.Width, c.Height));
}


bool isStopped = false;
Bitmap img;
private void button1_Click(object sender, EventArgs e)
{
    img = cameraControl1.TakeSnapshot();
    cameraControl1.Stop();
    isStopped = true;
}

Кредиты от devexpress.com

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...