本文介绍了使用 WPF 捕获窗口的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
使用 Windows Presentation Foundation,如果我有 HWND,我如何将其窗口捕获为可以操作和显示的图像?
With Windows Presentation Foundation, if I have an HWND, how can I capture it's window as an image that I can manipulate and display?
推荐答案
您可以:
CreateBitmap()
创建一个 hBitmap- 在 hWnd 上调用
GetDC()
BitBlt()
hBitmap 的内容ReleaseDC()
- 调用
Imaging.CreateBitmapSourceFromHBitmap()
来创建一个托管的BitmapSource
DeleteObject()
在 hBitmap 上- 根据需要使用
BitmapSource
CreateBitmap()
to create a hBitmap- Call
GetDC()
on the hWnd BitBlt()
the contents to the hBitmapReleaseDC()
- Call
Imaging.CreateBitmapSourceFromHBitmap()
to create a managedBitmapSource
DeleteObject()
on the hBitmap- Use the
BitmapSource
as desired
第 1-4 步和第 6 步使用 Win32 API(准确地说是 GDI),第 5 步和第 7 步使用 WPF
Steps 1-4 and 6 use the Win32 API (GDI to be precise), Steps 5 and 7 are done using WPF
这篇关于使用 WPF 捕获窗口的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!