如何快速读取第三方程序窗口的图像数据
大家好!
我很久没来这儿了,现在遇到个问题,希望大家不吝赐教!
简单概括:如何快速读取第三方程序窗口的图像数据?
已知条件:
① 能用API找到窗口句柄、类名、窗口矩形区等。
② 这是个 DirectX 3D 输出图像的窗口。
③ 窗口大小是固定的。
目标需求:
⑴ 读取窗口内的部分矩形区域的图像数据(RGB值),或读取到整个窗口的图像数据也行。
⑵ 能直接得到图像数据块的内存指针最好(有指针,能直接提取到需要的数据值吧?)。
⑶ 最好不要用 BitBlt() 等 GDI 函数来解决。
据说GDI的效率比较低,而我需要快速、反复读取数据来处理。
⑷ 最好不要从“桌面DC”入手来解决。
因为不希望桌面色深影响读取结果,并且要读取的区域被别的窗口遮住时肯定造成错误结果。
⑸ 希望要读取的区域被别的窗口遮住时,也能正常取得所需图像数据。
我对图像处理方面确实是外行,希望这里的高手多多指教!
同时,也欢迎多多捧场!
问题惹能圆满解决,技术分不成问题,到时再给300到500分。