本文介绍了使用 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?

推荐答案

您可以:

  1. CreateBitmap() 创建一个 hBitmap
  2. 在 hWnd 上调用 GetDC()
  3. BitBlt() hBitmap 的内容
  4. ReleaseDC()
  5. 调用Imaging.CreateBitmapSourceFromHBitmap()来创建一个托管的BitmapSource
  6. DeleteObject() 在 hBitmap 上
  7. 根据需要使用BitmapSource
  1. CreateBitmap() to create a hBitmap
  2. Call GetDC() on the hWnd
  3. BitBlt() the contents to the hBitmap
  4. ReleaseDC()
  5. Call Imaging.CreateBitmapSourceFromHBitmap() to create a managed BitmapSource
  6. DeleteObject() on the hBitmap
  7. 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 捕获窗口的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-10 18:49