我正在尝试截取运行在
浏览器。该小程序使用 JOGL(Java 的 OpenGL)显示 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)
最佳答案
除非您尝试将其自动化,否则我会为此使用 Firefox 扩展。从 a search for "screenshot" 中返回了一些可以截取整个浏览器页面的屏幕截图,包括可滚动区域:
- FireShot
- Screengrab
- Snapper (对于较旧的 Firefox 版本)
但是,很抱歉,如果您确实尝试以编程方式进行调试,我对 Python 的了解还不足以调试您的具体问题。
关于python - JOGL小程序Win7下截屏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2154448/