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;
}
}
}
}
如果您使用的是Bitmap
(我不建议使用,因为使用WriteableBitmap
更有效),您可以使用以下方法直接将图像设置为它:
picturebox.Image = bitmap;
或者使用刚刚创建图像的路径来显示它:
picturebox.Image.FromFile(path);