title: C# capturing image from webcam
body: <p>Last two days I've been looking for a way to capture an image from the webcam using C#. I'm pretty new in c# and I DO NOT want to use external third party libs, so I found two nice ways, but both seems to return almost the same error. I couldn't get any of them to work, so it would be really nice if you help me to get one of them running or help me to find alternative.</p>
  
  <p>So the first way I found is using Windows WIA. I found the following code:</p>
  
  <pre><code>CommonDialogClass dialog = new CommonDialogClass();
  Device camera = dialog.ShowSelectDevice(WiaDeviceType.CameraDeviceType, true, false);
          // take the photo 
  Item item = camera.ExecuteCommand(CommandID.wiaCommandTakePicture);
  ImageFile image = (ImageFile)item.Transfer(FormatID.wiaFormatJPEG);
          // filename and saving 
  image.SaveFile("Test.jpg");
  </code></pre>
  
  <p>this code seems to be exacly what I'm looking for, but I can't get it running, because I'm getting the following error on the second line:</p>
  
  <pre><code>Exception from HRESULT: 0x80210015
  </code></pre>
  
  <p>The second way I found is using the Avicap32.dll with the following sample:</p>
  
  <pre><code>http://www.timvw.be/wp-content/code/csharp/testavicap32.zip
  </code></pre>
  
  <p>but I'm getting on this code:</p>
  
  <pre><code>Image image = ((CaptureDevice)cboDevices.SelectedItem).Capture();
  image.Save(@"c:\capture.png", ImageFormat.Png);
  </code></pre>
  
  <p>the following exception:
      NullReferenceException:
      Object reference not set to an instance of an object.</p>
  
  <p>I think that both solution are causing problems because they can't find my camera, but I can use my camera in skype without any problems.</p>