python - JOGL小程序Win7下截屏

标签 python gdi jogl

我正在尝试截取运行在 浏览器。该小程序使用 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" 中返回了一些可以截取整个浏览器页面的屏幕截图,包括可滚动区域:

但是,很抱歉,如果您确实尝试以编程方式进行调试,我对 Python 的了解还不足以调试您的具体问题。

关于python - JOGL小程序Win7下截屏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2154448/

相关文章:

windows - 使用 Win32 API 找出图标资源中的图标数量

opengl - 在哪种情况下,相对于DirectX/OpenGL,首选GDI是个好主意

c# - 在 .NET、C# 中绘制形状的形状线问题

带有 JOGL 和/或 LWJGL 的 Java 小程序 - 具有适用于每个操作系统的 native

java - 从 BufferedImage 创建 JOGL 纹理

python - 使用来自 PyQt5 循环的项目刷新 QTableView 的内容

python - Stripe API;如何成功创建测试连接账户?

python - 使用列表中的值更新字典值

python - Feedparser.parse() 'SSL: CERTIFICATE_VERIFY_FAILED'

java - 通用 3D 演示软件的建议框架