如何在 Python 中使用 BitBlt
How to use BitBlt in Python
我将如何在 python 中使用 BitBlt?我知道如何使用 PatBlt,但我想知道您如何使用 BitBlt。我如何将图像放在 GDI 上?
如果您已经知道如何使用 PatBlt
,那么您已经完成了大部分工作。
BitBlt
只是将像素从一个 DC 转移到另一个。通常一个 DC 有一个位图 selected 到它,另一个 DC 是屏幕。它可以用来截屏、显示图片或做双缓冲。
假设您有一个从 LoadImage
加载的位图,并且您想在 WM_PAINT
中显示它。
- 致电
BeginPaint
为您的 window(目的地)获取 DC。
- 调用
CreateCompatibleDC
创建与目标兼容的源 DC。
- 将位图 (
HBITMAP
) SelectObject
调用到 select 到源 DC 中。您应该存储 return 值,以便可以在清理期间恢复它。
- 调用
BitBlt(destination DC, ..., source DC, ...., SRCCOPY)
将位图像素复制到window。
- 调用
SelectObject
恢复原值。
- 调用
DeleteDC
销毁源DC。
- 呼叫
EndPaint
.
大家好!
我想通了,你可以在这里找到答案:
for i in range(100):
BitBlt(desk, 1, 1, sw, sh, desk, 0, 0, SRCCOPY)
我将如何在 python 中使用 BitBlt?我知道如何使用 PatBlt,但我想知道您如何使用 BitBlt。我如何将图像放在 GDI 上?
如果您已经知道如何使用 PatBlt
,那么您已经完成了大部分工作。
BitBlt
只是将像素从一个 DC 转移到另一个。通常一个 DC 有一个位图 selected 到它,另一个 DC 是屏幕。它可以用来截屏、显示图片或做双缓冲。
假设您有一个从 LoadImage
加载的位图,并且您想在 WM_PAINT
中显示它。
- 致电
BeginPaint
为您的 window(目的地)获取 DC。 - 调用
CreateCompatibleDC
创建与目标兼容的源 DC。 - 将位图 (
HBITMAP
)SelectObject
调用到 select 到源 DC 中。您应该存储 return 值,以便可以在清理期间恢复它。 - 调用
BitBlt(destination DC, ..., source DC, ...., SRCCOPY)
将位图像素复制到window。 - 调用
SelectObject
恢复原值。 - 调用
DeleteDC
销毁源DC。 - 呼叫
EndPaint
.
大家好!
我想通了,你可以在这里找到答案:
for i in range(100):
BitBlt(desk, 1, 1, sw, sh, desk, 0, 0, SRCCOPY)