0

有什么功能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;
   }
  }
 }
}
4

1 回答 1

0

如果您使用的是Bitmap(我不推荐,因为使用起来效率更高WriteableBitmap),您可以使用以下方法直接将图像设置为它:

picturebox.Image = bitmap;

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

picturebox.Image.FromFile(path);
于 2013-09-11T23:51:41.097 回答