【发布时间】:2011-01-10 09:34:53
【问题描述】:
我正在尝试截取在
浏览器。小程序使用 JOGL (OpenGL for Java) 来显示 3D
楷模。 (1) 屏幕截图总是黑色或白色。
当前解决方案使用通常的 GDI 调用。小程序的屏幕截图不是
运行 OpenGL 没问题。
可以在这里找到一些 JOGL 应用程序示例https://jogl-demos.dev.java.net/
(2) 我想要实现的另一件事是获取可滚动区域
在屏幕截图中也是如此。
我在互联网上找到了这段代码,除了 2 上面提到的问题。
import win32gui as wg
import win32ui as wu
import win32con
def copyBitMap(hWnd, fname):
wg.SetForegroundWindow(hWnd)
cWnd = wu.CreateWindowFromHandle(hWnd)
rect = cWnd.GetClientRect()
(x,y) = (rect[2] - rect[0], rect[3] - rect[1])
hsrccDc = wg.GetDC(hWnd)
hdestcDc = wg.CreateCompatibleDC(hsrccDc)
hdestcBm = wg.CreateCompatibleBitmap(hsrccDc, x, y)
wg.SelectObject(hdestcDc, hdestcBm.handle)
wg.BitBlt(hdestcDc, 0, 0, x, y, hsrccDc, rect[0], rect[1], win32con.SRCCOPY)
destcDc = wu.CreateDCFromHandle(hdestcDc)
bmp = wu.CreateBitmapFromHandle(hdestcBm.handle)
bmp.SaveBitmapFile(destcDc, fname)
【问题讨论】: