- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试学习如何在 xcb 库中使用共享内存像素图。你们中有人有这方面的经验并想分享示例代码和/或信息吗?这将非常有帮助。
谢谢
最佳答案
经过一番研究,我发现了如何在 xcb 中使用共享内存像素图。
这是我的测试代码:
#include <stdlib.h>
#include <stdio.h>
#include <sys/ipc.h>
#include <sys/shm.h>
#include <xcb/xcb.h>
#include <xcb/shm.h>
#include <xcb/xcb_image.h>
#define WID 512
#define HEI 512
int main(){
xcb_connection_t* connection;
xcb_window_t window;
xcb_screen_t* screen;
xcb_gcontext_t gcontext;
xcb_generic_event_t* event;
uint32_t value_mask;
uint32_t value_list[2];
//connect to the X server and get screen
connection = xcb_connect(NULL, NULL);
screen = xcb_setup_roots_iterator(xcb_get_setup(connection)).data;
//create a window
value_mask = XCB_CW_BACK_PIXEL | XCB_CW_EVENT_MASK;
value_list[0] = screen->black_pixel;
value_list[1] = XCB_EVENT_MASK_EXPOSURE;
window = xcb_generate_id(connection);
xcb_create_window(
connection,
screen->root_depth,
window,
screen->root,
0, 0,
WID, HEI,
0,
XCB_WINDOW_CLASS_INPUT_OUTPUT,
screen->root_visual,
value_mask, value_list
);
//create a graphic context
value_mask = XCB_GC_FOREGROUND | XCB_GC_GRAPHICS_EXPOSURES;
value_list[0] = screen->black_pixel;
value_list[1] = 0;
gcontext = xcb_generate_id(connection);
xcb_create_gc(connection, gcontext, window, value_mask, value_list);
//map the window onto the screen
xcb_map_window(connection, window);
xcb_flush(connection);
//Shm test
xcb_shm_query_version_reply_t* reply;
xcb_shm_segment_info_t info;
reply = xcb_shm_query_version_reply(
connection,
xcb_shm_query_version(connection),
NULL
);
if(!reply || !reply->shared_pixmaps){
printf("Shm error...\n");
exit(0);
}
info.shmid = shmget(IPC_PRIVATE, WID*HEI*4, IPC_CREAT | 0777);
info.shmaddr = shmat(info.shmid, 0, 0);
info.shmseg = xcb_generate_id(connection);
xcb_shm_attach(connection, info.shmseg, info.shmid, 0);
shmctl(info.shmid, IPC_RMID, 0);
uint32_t* data = info.shmaddr;
xcb_pixmap_t pix = xcb_generate_id(connection);
xcb_shm_create_pixmap(
connection,
pix,
window,
WID, HEI,
screen->root_depth,
info.shmseg,
0
);
int i = 0;
while(1){
usleep(10000);
data[i] = 0xFFFFFF;
i++;
xcb_copy_area(
connection,
pix,
window,
gcontext,
0, 0, 0, 0,
WID, HEI
);
xcb_flush(connection);
}
xcb_shm_detach(connection, info.shmseg);
shmdt(info.shmaddr);
xcb_free_pixmap(connection, pix);
xcb_destroy_window(connection, window);
xcb_disconnect(connection);
return 0;
}
关于window - 如何在 xcb 中使用 shm pixmap?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27745131/
我想知道如何在 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 桌面的。它使用像素图引擎调用保存在文件夹中的图像来制作按钮和文本框
我是一名优秀的程序员,十分优秀!