(XSetWindowBackground)如何转换“RGB”< - > “unsigned long”

时间:2013-06-09 00:38:12

标签: xlib

我想设置一个带颜色的窗口的背景,但是XSetWindowBackground有一个未设置长的颜色来设置颜色,如何将无符号长度链接到一个rgb值?

1 个答案:

答案 0 :(得分:2)

如果RGB值为整数,则可以使用XAllocColor和XColor结构,如下所示:

  XColor col;
  col.red = 65535;  // value is 0-65535
  col.green = 32767;
  col.blue = 0;
  XAllocColor(dis, DefaultColormap(display,0), &col);

您想要的值是

col.pixel

如果你有一个十六进制字符串,那么你将它转换为XColor:

 XParseColor(display, DefaultColormap(display,0), "#FF7F00", &col);;