C# - MS Kinect:如何在快照后直接加载图像

本文关键字:快照 图像 加载 MS Kinect | 更新日期: 2023-09-27 18:30:28

C#中是否有任何函数可用于显示直接在图片框中拍摄的快照? 因此,当我单击"快照"按钮时,不仅图像应保存在我的硬盘驱动器中,而且还应直接显示在同一WPF应用程序的图片框中。

编辑:这是我的代码,效果很好:

private void button1_Click(object sender, RoutedEventArgs e)
{
 BitmapEncoder encoderIR = new PngBitmapEncoder();
 encoderIR.Frames.Add(BitmapFrame.Create(this.colorBitmapIR));
 string myPhotosIR = "C:/...../Visual Studio 2010/Projects/Basic1/Basic1/Resources";
 string pathIR = System.IO.Path.Combine(myPhotosIR, "KinectSnapshotIR.png");
 try
 {
  using (FileStream fsIR = new FileStream(pathIR, FileMode.Create))
  {
   encoderIR.Save(fsIR);
   {
    BitmapImage snapIR = new BitmapImage();
    snapIR.BeginInit();
    snapIR.StreamSource = fsIR;
    snapIR.CacheOption = BitmapCacheOption.OnLoad;
    snapIR.EndInit();
    imageIR.Source = snapIR;
   }
  }
 }
}

C# - MS Kinect:如何在快照后直接加载图像

如果您使用的是Bitmap(我不建议使用,因为使用WriteableBitmap更有效),您可以使用以下方法直接将图像设置为它:

picturebox.Image = bitmap;

或者使用刚刚创建图像的路径来显示它:

picturebox.Image.FromFile(path);