以下代码是从我正在处理的项目中提取的几行代码,我在其中绘制了很多颜色。它对我有用 - 我并不是说这是最好的,甚至是非常好的方法,但我只是一个试图自学的爱好者,在我发现的稀疏示例中,这就是我拼凑起来的。
check this manpage for: xcb_change_gc(etc.,);
我实际上保留了一个简单的 rgb 值数组,存储的是 uint32_ts,我用它来绘制。因为我只是为了自己的满足而编程,我不知道这是否非常便携。此外,还需要进行一些实验才能发现颜色的编码。我确定这取决于硬件。我认为颜色图的优势在于它们是可移植的,如果您没有真彩色,颜色图将帮助您使用正确的颜色进行绘制。我个人不需要知道。我只是喜欢使用像素或填充矩形来探索一些数学。
uint32_t rgb = 0xFFFFFFFF; // white on my system
uint32_t mask = XCB_GC_FOREGROUND,
foreground_value = rgb;
xcb_gcontext_t gc;
gc = xcb_generate_id(connection);
xcb_create_gc (connection, gc, drawing_buffer_pixmap, mask, &foreground_value);
// below, the color of the gc is changed rather than making a new one
xcb_change_gc(connection, *gc, mask, &foreground_value);