- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我可以使用 xcb_image_get()
将根窗口的内容复制到客户端(即 CPU)内存中的 xcb_image_t
(无论其 map 状态,尽管根窗口可能总是映射?)。例如:
xcb_image_t* xcb_img = xcb_image_get(xcb_connection, xcb_screen->root, 0, 0, xcb_screen->width_in_pixels, xcb_screen->height_in_pixels, 0x00ffffff, XCB_IMAGE_FORMAT_Z_PIXMAP);
现在根窗口的像素在xcb_img->data
中。
但我试图将根窗口的内容复制到 xcb_pixmap_t
(在服务器内存中),但它不起作用(调用无效 失败,但它返回垃圾,就好像窗口没有被映射一样):
xcb_void_cookie_t copy_cookie = xcb_copy_area_checked(xcb_connection, xcb_screen->root, xcb_pixmap, xcb_gc_null, 0, 0, 0, 0, xcb_screen->width_in_pixels, xcb_screen->height_in_pixels);
xcb_generic_error_t* copy_error = xcb_request_check(xcb_connection, copy_cookie);
if(copy_error)
exit(1);
但是,它适用于碰巧被映射的其他窗口(并且对于那些被其他窗口遮挡的窗口的子区域,从副本返回垃圾的意义上说,它会失败。)
我知道一个窗口需要被映射才能有有意义的内容。这让我认为根窗口从未被映射(或其他)。
All I want is to copy the contents of the display (ie. the pixels that are currently being shown in the physical display/monitor) to an
xcb_pixmap_t
(or, equivalently, to an XlibPixmap
). How can I do this? (It works so easily forxcb_get_image()
...)
最佳答案
您希望您的 GC 将 SubwindowMode 设置为 IncludeInferiors(默认为 ClipByChildren)。
来自X11协议(protocol)描述:
For ClipByChildren, both source and destination windows are additionally clipped by all viewable InputOutput children. For IncludeInferiors, neither source nor destination window is clipped by inferiors. This will result in including subwindow contents in the source and drawing through subwindow boundaries of the destination. The use of IncludeInferiors with a source or destination window of one depth with mapped inferiors of differing depth is not illegal, but the semantics is undefined by the core protocol.
https://www.x.org/releases/X11R7.5/doc/x11proto/proto.html
这意味着对于 ClipByChildren,您只是从用作源的窗口进行复制。如果窗口有子窗口,“那里”的像素不属于您用作源的窗口。因此,X11 假定您不需要这些像素。
关于linux - X11/XCB/Xlib : Copy root window to pixmap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50957326/
我想知道如何在 Pixmap 中获取 FrameBufferPixel 我知道我必须使用 getFrameBufferPixels(true) 但是不知道要放什么参数 new Pixmap(byte[
位图和像素图有什么区别?位图和像素图的文件扩展名是什么? 最佳答案 The term "pixmap" is short for "pixel map. A pixmap stores and dis
我正在使用基于 Vulkan 的合成器编写 X11 窗口管理器。我想知道是否有一种方法可以有效地将窗口像素图加载为纹理。 在 OpenGL 中,可以直接使用 EXT_texture_from_pixm
我正在尝试在屏幕上画一个空心圆。我有一个 implements Screen 类,这是它的 render 方法: @Override public void render(float delta) {
try { URL url = new URL(this.url); InputStream in = new BufferedInputStream(url.open
在我的截屏项目中,QPixmap.save() 函数每次都返回 false 意味着失败。然而,当我从 Qt 页面复制示例项目时 http://qt-project.org/doc/qt-5/qtwid
我正在制作一个黑色方 block 在白色背景中掉落的游戏。我的红色化身正在躲避黑色方 block ,但如果它击中黑色方 block ,游戏就结束了。有人可以帮我开始吗?我只是想让头像检查 block
在过去的几个小时里,我试图解决在 QAction 中显示图标的问题。 问题是没有显示图标,只有文本解密放在它的位置'Roads'。 我试过调试它并且一直QPixmap是NULL,看起来它找不到文件。
我想将部分Pixmap(指定的矩形)上传到GPU中的纹理(指定位置)。 我想要实现的是 void updateTextureFromPixmap(sourcePixmap,sourceRectangl
我希望使用 while 循环自动更改显示在窗口中的像素图图像,该循环具有定义的延迟并使用存储在字符串列表中的图像位置。 我尝试过的所有可能性都会导致显示第一张图像但在运行时不会更改。任何更改只有在程序
我尝试学习如何在 xcb 库中使用共享内存像素图。你们中有人有这方面的经验并想分享示例代码和/或信息吗?这将非常有帮助。 谢谢 最佳答案 经过一番研究,我发现了如何在 xcb 中使用共享内存像素图。
我目前正在开发一款游戏,需要与物体进行像素完美碰撞。然而,我遇到的唯一障碍是实际获得该物体的掩模。我考虑过将对象的 Sprite (已正确缩放和转换)渲染到 FrameBuffer,然后将其转换为像素
我在下面这个例子中使用帧缓冲区的深度缓冲区来实现纹理 mask : https://github.com/mattdesl/lwjgl-basics/wiki/LibGDX-Masking#maski
我正在 Gtk::DrawingArea 上绘制像素。有时会发生公开事件,我需要重绘所有内容。但是再次绘制每个像素很慢,所以我尝试创建一个 Sdk::Pixmap 并绘制到它,然后在需要时将它绘制到屏
我正在尝试创建一个 Tile 渲染程序。这是一些基本代码。 标题 class Tile: public QGraphicsItem { public: Tile(void); ~Tile(void);
背景 我正在创建一个应用程序,我在其中手动布局 a texture atlas .重点是图像本身不应该是透明的——它具有一致的背景颜色,然后应该在代码中将其删除。 我遇到的问题是我似乎无法从我正在处理
如何更改像素图中的特定颜色?例如,我有一个包含白色和黑色像素的像素图,我想将所有白色像素更改为蓝色,但不要理会黑色像素。或者可能将黑色更改为白色,将白色更改为蓝色...... [我正在 Qt/PyQt
我有一个从 Pixmap 构建的 com.badlogic.gdx.scenes.scene2d.ui.Image。像素图只有一个像素,因为我用它来构建一个图像,该图像用作可以淡入淡出的背景。 Pix
我看过那些文章: https://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/assets/AssetManager.ht
我可以在 GTK3“.CSS”文件中使用“像素图”引擎吗?如果是这样,如何?我制作了一个我非常满意的主题,但它是针对 gnome 2 桌面的。它使用像素图引擎调用保存在文件夹中的图像来制作按钮和文本框
我是一名优秀的程序员,十分优秀!