/// <summary> /// take a single depth grey color image shot /// </summary> /// <returns></returns> public WriteableBitmap DepthSnapshot() { for (; ;) { if (senseManager.AcquireFrame(true).IsError()) { throw new Exception("Failed to acquire frame"); break; } else { // capture PXCMCapture.Sample sample = senseManager.QuerySample(); PXCMImage MyImg = sample.depth; //test PXCMImage.ImageData MyImgData; MyImg.AcquireAccess(PXCMImage.Access.ACCESS_READ, PXCMImage.PixelFormat.PIXEL_FORMAT_DEPTH, out MyImgData); WriteableBitmap WBmp = MyImgData.ToWritableBitmap(0, MyImg.info.width, MyImg.info.height, 96, 96); // release senseManager.ReleaseFrame(); return(WBmp); //break; } } ////should be used if we want to shut down the cam . //senseManager.Dispose(); return(null); }
/// <summary> /// take a single color photo /// </summary> /// <returns>returns a bitmap</returns> public Bitmap ColorSnapshot() { Bitmap bmp = new Bitmap(10, 10); for (; ;) { if (senseManager.AcquireFrame(true).IsError()) { throw new Exception("Failed to acquire frame"); break; } else { // capture PXCMCapture.Sample sample = senseManager.QuerySample(); PXCMImage MyImg = sample.color; //test PXCMImage.ImageData MyImgData; MyImg.AcquireAccess(PXCMImage.Access.ACCESS_READ, out MyImgData); bmp = MyImgData.ToBitmap(0, MyImg.info.width, MyImg.info.height); // release senseManager.ReleaseFrame(); break; } } ////should be used if we want to shut down the cam . //senseManager.Dispose(); return(bmp); }