如何在 Python 中使用 BitBlt

How to use BitBlt in Python

我将如何在 python 中使用 BitBlt?我知道如何使用 PatBlt,但我想知道您如何使用 BitBlt。我如何将图像放在 GDI 上?

如果您已经知道如何使用 PatBlt,那么您已经完成了大部分工作。

BitBlt 只是将像素从一个 DC 转移到另一个。通常一个 DC 有一个位图 selected 到它,另一个 DC 是屏幕。它可以用来截屏、显示图片或做双缓冲。

假设您有一个从 LoadImage 加载的位图,并且您想在 WM_PAINT 中显示它。

  1. 致电 BeginPaint 为您的 window(目的地)获取 DC。
  2. 调用 CreateCompatibleDC 创建与目标兼容的源 DC。
  3. 将位图 (HBITMAP) SelectObject 调用到 select 到源 DC 中。您应该存储 return 值,以便可以在清理期间恢复它。
  4. 调用BitBlt(destination DC, ..., source DC, ...., SRCCOPY)将位图像素复制到window。
  5. 调用SelectObject恢复原值。
  6. 调用DeleteDC销毁源DC。
  7. 呼叫EndPaint.

大家好!

我想通了,你可以在这里找到答案:

for i in range(100):
  BitBlt(desk, 1, 1, sw, sh, desk, 0, 0, SRCCOPY)