不通过bitblt来复制位图,而直接从设备DC里获取位图句柄,这该如何做??

时间:2023-01-07 18:12:12
我现在需要做个快速截图程序,以前一般的做法是生成内存DC,再生成兼容位图,将这兼容位图选入前面的内存DC里,最后把设备DC复制到内存DC上来获取当前显示的位图(像素).而我不想经过复制,而是要直接得到设备的位图句柄,然后提取完像素值后,再将这句柄还给设备DC,

请问这该如何做???

8 个解决方案

#1


应该是不行的.
用DirectDraw可以不用选,不过从显存copy数据比较慢.

#2


up!!!

#3


关注

#4


up!!

#5


用CDC类的GetCurrentBitmap得到CBitmap指针,然后可以得到句柄。
不过这样做效率还是不高吧,要效率的话用DirectX

#6


谢谢各位,不知大家是否还有别的方法吗?

#7


GetCurrentBitmap

#8


使用剪贴板。

#1


应该是不行的.
用DirectDraw可以不用选,不过从显存copy数据比较慢.

#2


up!!!

#3


关注

#4


up!!

#5


用CDC类的GetCurrentBitmap得到CBitmap指针,然后可以得到句柄。
不过这样做效率还是不高吧,要效率的话用DirectX

#6


谢谢各位,不知大家是否还有别的方法吗?

#7


GetCurrentBitmap

#8


使用剪贴板。