Я пытаюсь делать снимки с помощью веб-камеры в моем приложении C#. Я узнал, что я использую DirectShowLib. После тяжелых исследований я нашел пример того, как с помощью веб-камеры он отображает видео на экране идеально, но он не может взять растровое изображение для сохранения его по моей воле.Фото и видео с помощью веб-камеры DirectShowLib-2005
образец кода, который я нашел, чтобы взять Picure бы
public Bitmap snapImage()
{
IVMRWindowlessControl9 windowlessCtrl = null;
IBaseFilter vmr9 = null;
vmr9 = (IBaseFilter)new DirectShowLib.VideoMixingRenderer9();
DirectShowLib.IVMRFilterConfig9 filterConfig = (DirectShowLib.IVMRFilterConfig9)vmr9;
int hr = filterConfig.SetNumberOfStreams(1);
hr = filterConfig.SetRenderingMode(DirectShowLib.VMR9Mode.Windowless);
windowlessCtrl = (IVMRWindowlessControl9)vmr9;
hr = windowlessCtrl.SetVideoClippingWindow(this.PreviewWindow.Handle);
hr = windowlessCtrl.SetAspectRatioMode(VMR9AspectRatioMode.LetterBox);
IntPtr currentImage = IntPtr.Zero;
Bitmap bmp = null;
//this is the line in wich I have problems
hr = windowlessCtrl.GetCurrentImage(out currentImage);
BitmapInfoHeader structure = new BitmapInfoHeader();
Marshal.PtrToStructure(currentImage, structure);
bmp = new Bitmap(structure.Width, structure.Height, (structure.BitCount/8) * structure.Width, System.Drawing.Imaging.PixelFormat.Format32bppArgb, new IntPtr(currentImage.ToInt64() + 40));
return bmp;
}
И я получил: «Ошибка HRESULT E_FAIL был возвращен из вызова к COM-компонент» с кодом ошибки -2147467259
Может ли образец, который я нашел, находится на этой странице http://www.codeproject.com/Articles/34663/DirectShow-Examples-for-Using-SampleGrabber-for-Gr
Может ли кто-нибудь помочь мне сделать снимок? или может ли один скажите мне, как делать то, что я хочу сделать (показать видео и делать снимок веб-камеры)
Thankk вы
Hai, Вы могли решить проблему. Сейчас я столкнулся с той же проблемой. :-( –