Изображение с предварительного просмотра веб-камеры генерирует стандартное исключение GDI+

Я делаю пользовательский контроль веб-камеры.

Я использую Microsoft Expression Encoder и устанавливаю PreviewWindow на панель внутри элемента управления.

Все хорошо, за исключением того, что когда я пытаюсь получить изображение, я получаю исключение:

Общий GDI+ исключение

Моя первая попытка была:

using (var bmp = new Bitmap(p.Width, p.Width))
            {
                panel1.DrawToBitmap(bmp, new Rectangle(0, 0, bmp.Width, bmp.Height));
                bmp.Save(@"c:\test.png");
            }

Еще один ВАС:

using (Bitmap bitmap = new Bitmap(panelVideoPreview.Width, panelVideoPreview.Height))
          { 
              using (Graphics g = Graphics.FromImage(bitmap))
              {
                  Rectangle rectanglePanelVideoPreview = panelVideoPreview.Bounds;

             Point sourcePoints = panelVideoPreview.PointToScreen(new Point(panelVideoPreview.ClientRectangle.X, panelVideoPreview.ClientRectangle.Y));
             g.CopyFromScreen(sourcePoints, Point.Empty, rectanglePanelVideoPreview.Size); 
              }

              string strGrabFileName = String.Format("C:\\Snapshot.jpg", DateTime.Now);
              bitmap.Save(strGrabFileName, ImageFormat.Jpeg);        

1 ответ

Решение

Проблема в записи файла. Возможно, на диске c:\ недостаточно места или у вас нет прав на запись на диск c:\ (вне папки). Попробуйте выполнить запись в AppData. Если вы хотите записать на диск c:\, вам необходимо получить административные привилегии с помощью пользовательского манифеста.

Другие вопросы по тегам