一个Bitmap文件,叫做screenShotFile, 你可以这样显示到Image控件上。
BitmapImage bi = new BitmapImage();
bi.BeginInit();
bi.UriSource = new Uri(this.screenShotFile, UriKind.Absolute);
bi.EndInit();
this.screenshotImage.Source = bi;
但是有个问题,这个文件你无法删除,会报错说“另一个进程正在使用”。什么鬼?是bug吗?
如果你的Bitmap还在内存里,这个问题就比较好解决了:
BitmapSource bs = Imaging.CreateBitmapSourceFromHBitmap(this.bmp.GetHbitmap(), IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromWidthAndHeight(bmp.Width, bmp.Height));
this.screenshotImage.Source = bs;
其中,Imaging的namespace是这个:namespace System.Windows.Interop
WPF:How to display a Bitmap on Image control
,