Ejemplo n.º 1
0
 // Save the camera image onto disk and remove the handler from the ImageUpdated event
 protected void SaveImageOnceEvent(Object sender, ImageUpdateEventArgs e)
 {
     // Reset stream position if the image has been read (if the any other event handler has been called before this)
     e.Image.Position = 0;
     // Same logic as in ImageUpdateEvent()
     for (var i = 0; i < CameraHandler.Length; i++)
     {
         if (CameraHandler[i].Equals(sender))
         {
             // Remove the event handler (self) to save only once
             CameraHandler[i].ImageUpdated -= SaveImageOnceEvent;
             try
             {
                 var fs = new FileStream(
                     (UISettings.SwapImageSources == Convert.ToBoolean(i))
                         ? UISettings.SaveImageLeft
                         : UISettings.SaveImageRight,
                     FileMode.Create,
                     FileAccess.Write
                     );
                 e.Image.CopyTo(fs);
                 fs.Close();
             }
             catch (Exception ex)
             {
                 ShowMessage(ex.Message);
             }
         }
     }
 }
Ejemplo n.º 2
0
 // A CameraHandler has an updated image for us
 protected void ImageUpdateEvent(Object sender, ImageUpdateEventArgs e)
 {
     // Reset stream position if the image has been read (if the any other event handler has been called before this)
     e.Image.Position = 0;
     // Check which CameraHandler gave us the image to update the right image plane (depending on the swap image toggle)
     for (var i = 0; i < CameraHandler.Length; i++)
     {
         if (CameraHandler[i].Equals(sender))
         {
             ImagePlane[(UISettings.SwapImageSources == Convert.ToBoolean(i) ? 0 : 1)].SetImage(e.Image);
         }
     }
 }