Articles of 截图

使用X11的Xcomposite扩展程序获取封面或不可见或最小化的窗口截图

我有下面的开始代码来获得X窗口的屏幕截图(窗口可以被覆盖,不可见或最小化)。 #include <stdlib.h> #include <stdio.h> #include <X11/Xlib.h> #include <X11/Xh> #include <X11/extensions/Xcomposite.h> #include <X11/extensions/Xrender.h> int main () { Display *display = XOpenDisplay (NULL); XID xid = 90177543; // xdotool search –name "World of Warcraft" | head -1 // Check if Composite extension is enabled int event_base_return; int error_base_return; if (XCompositeQueryExtension (display, &event_base_return, &error_base_return)) printf ("COMPOSITE IS […]

从命令行复制图像到剪贴板

我正在使用ImageMagick将我的屏幕的一部分复制到一个临时文件(something.png)。 我现在想直接从命令行将这个文件的内容粘贴到剪贴板中。 到目前为止我的脚本是这样的: #!/bin/bash TMPFILE=$(mktemp) FORMAT='.PNG' SCREENSHOT_FILE=${TMPFILE}${FORMAT} mv "$TMPFILE" "$SCREENSHOT_FILE" import "$SCREENSHOT_FILE" cat "$SCREENSHOT_FILE" | parcellite rm "$SCREENSHOT_FILE" Parcellite完美的命令行复制和粘贴,但我不能让它与图像工作。 我认为这不是parcellite的一个特点。 我怎么能这样做呢?

如何在Linux(编程)采取截图(高fps)

首先我想说的是,我一直在阅读很多关于这方面的知识,而且我已经学会了很多方法来做到这一点,但是我一直无法在Linux中做到这一点。 我的项目是arduino的stream光溢彩,所以我需要截取桌面并分析它的颜色。 在开始时,我使用了来自“java.awt”的类“Robot”的Processing 2.0。 最初我可以每秒5帧,然后我有13fps。 这工作,但我想要更多的性能,所以我开始阅读。 在Windows或Mac中,您可以使用库直接访问“frameBuffer”,因此您可以非常简单,快速地截取屏幕截图。 在Ubuntu中,我已经尝试了与Gtk,PIL,Qt的Python …最快的方法是GTK,但我也只能有大约15fps。 我的问题是:我想跨平台,但我更喜欢我的程序在Linux的一开始,然后在Windows(我不喜欢它太多:P)。 那么,第一个问题是python能够提供这种性能吗? 因为我认为C ++可以是更好的select。 第二个问题:我需要做什么? 我已经阅读了关于Xlib(X11),但我找不到让我截图的文档。 另外我知道,例如,FFmpeg是一个强大的工具,但我不知道如何实现它。 我希望你能帮助我(如果我犯了错误,请原谅我)。

在linux中使用opencv的c ++快速截图

我试图find一个快速的方式来获取屏幕截图(如在30帧或以上)与c + + opencv一起使用 我在网上find的所有信息都涉及到windows.h或者太慢了。 有人能给我提供一些能够实现这个目标的代码,或者至less能让我指向正确的方向,所以我可以解决这个问题。

采取网站截图,服务器端,在Linux租用的服务器上,免费

好吧,现在我真的不能支付任何服务。 我希望能够使用我的租用服务器(基于Linux)进行截图,并将其输出到屏幕上。 我知道有很多这样的服务,但是他们通常有限制或水印,或者你必须等待你的屏幕截图从队列中取出。 有什么方法可以自己截图,也许以后caching它们或任何东西? 我正在使用PHP,但我并不局限于此; 我只是在Linux服务器上,所以GD的适当的function将无法正常工作。 帮帮我! 🙂

是否有一个相当于Java的AWT机器人类的Python?

有没有人知道类似于Java机器人的Python类? 具体来说,我想在Ubuntu中执行一个屏幕截图,并最终跟踪鼠标点击和键盘按下(虽然这是一个稍微不同的问题)。

如何在Windows上捕获桌面,以便捕获directX和正常渲染的屏幕部分?

简单的例子 – 一方面,我们看到通过标准软件呈现的相机呈现在另一方面的“input”(标记为“输出”)通过一些DirectX的东西呈现(至less在我看来): 那么windows api或者DirectX api提供了什么function来捕获这样的混合场景呢?

检测用户截取我的程序的截图

我在写一个Windows应用程序。 我怎样才能知道截图正在被采取? 我读了关于如何检测被按下的热键,但我更担心的情况是每100毫秒左右的另一个程序正在截图。 也就是说,我试图注意到有人创build了另一个程序(比如另一篇文章中提到的使用ImageGrab的python),该程序会不断地截取我的应用程序并使用它们来读取信息。 我不太在意阻止截图被采取 – 我可以禁止用户一旦发现这种行为。 这可能吗? 是否有任何应用程序截图时发送Windows消息,如使用WM_HOTKEY? 或者窗户只是使用最新的绘画事件的最新信息,并直接返回到其他程序,没有我的应用程序能够注意到呢?

Python:'pyautogui'没有属性'截图'(Windows)

我正在尝试使用pyautogui模块截图,但不断收到此错误 >>> image = pyautogui.screenshot() Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: module 'pyautogui' has no attribute 'screenshot' 有什么我失踪? 使用Python自动化烦人的东西的章节说,因为我在Windows上,我不应该下载除了pyautogui本身以外的任何东西,这个工作。 任何人都知道为什么会这样呢? 提前致谢。 编辑:我使用python,所以我已经有Pillow 。

从GPU获取完整的桌面屏幕截图

我一直在使用Windows API的BitBlt函数来执行屏幕抓取。 然而有许多缺点: DWM和Aero会导致大幅的减速(3ms – > 35ms只是为了调用BitBlt ) – 要解决这个问题,需要禁用Aero,我不想这样做。 屏幕闪烁,事情转移。 必须将数据重新传输到GPU,才能将数据作为纹理加载 没有CAPTUREBLT标志不能捕获分层的Windows。 启用时,捕捉时鼠标光标闪烁。 这可能看起来像一个小问题,但当应用程序没有错误时,这是​​非常烦人的。 作为解决这个问题的方法,我打算将一个分层窗口渲染为一个额外的游标。 我已经在使用OpenGL来显示和处理捕获的屏幕数据。 BitBlt给我的像素数据,它是相对容易加载到纹理。 然而,这有点荒谬,因为我手动将数据重新发送回GPU时,它应该在GPU上可用开始。 数据当然是存在的,但试图访问是另一回事。 我认为,供应商的待办事项清单(或可能在任何清单上)的这个function并不高,但我想问问那些知道AMD(ATI)或NVidia在读取屏幕缓冲区的驱动程序中(例如在OpenGL环境中)。 我对现代GPU架构知之甚less,不知道从哪里开始寻找答案。