2013-04-21 61 views
0

我有一个颜色X PixMap文件,GCC编译器,一个工作的X服务器在一个显示器上和一个非常简单的任务:显示XPM文件的颜色由C /通过在显示器上运行的X Server来执行C++程序。在根窗口的背景中显示颜色X Window Pixmap

我搜索了很多,我的大脑完全破碎。没有关于XCreatePixmapFromData的信息。我无法进入xloadimage资源。但是,将1位深度bitmat放在一个成功的位置,我想要一个颜色像素映射的简单解决方案。

Teh pixmap是普通的,例如,我只想表明它具有与X BitMap文件(一个常量字符数组)几乎相同的结构,并且可以包含在C/C++程序中。 .. http://pastebin.com/b5QTrDTH

一个简单的代码示例绘制颜色像素图会很好。

这应该很容易,请帮助! P. S.抱歉,这是我的第一个stackoverflow问题。

+0

看看XCB。这可能比Xlib更有趣。 http://xcb.freedesktop.org/colorsandpixmaps/ – ypnos 2013-04-22 11:39:28

回答

1

该函数的名称是XpmCreatePixmapFromData。它被描述为例如here以及其他功能和数据结构。

基本上,你传递XPM数据并获得两件事情,一个像素图和一个位图掩码。如果你的像素图是矩形的,你可以忽略掩码。如果没有,则使用它在GC中设置遮罩。然后你使用XCopyArea从返回的pixmap复制到窗口。

您可以传递NULL作为“attributes”参数。如果不这样做,请确保值掩码设置正确。

您需要链接到您可能需要下载某处的xpm库。这不是X11的一部分。

可以找到一个例子here

+0

链接丢失。 – ypnos 2013-04-22 11:35:57

+0

@ypnos:哎呀,对不起,修正。 – 2013-04-22 12:39:38