我有一个应用程序将数据逐行地绘制到X11显示屏上,其中每行实际上由不同颜色的像素组成。将X11显示转发到Windows时出现颜色问题
我这样做是通过使用XCreateImage
将数据数组映射到XImage*
来完成的。然后,在处理数据时,我使用红色,绿色和蓝色值填充XColor
变量,并呼叫XAllocColor
分配颜色。然后,我将像素值分配给数据数组中的相应元素。当所有的数据都被设置好后,我使用XPutImage
绘制线条。
在Linux上运行显示器时,一切看起来都很棒,与预期完全一样。但是,当我通过ssh将X11显示转发到Windows时,颜色全部混乱。
任何想法?
编辑
如果我不使用XCreateImage
和XPutImage
并与于地面的颜色我想创建一个GC
,并使用XDrawPoint
,它工作得很好。似乎是的问题,或者在使用GC
时会自动克服该问题。
你会说你的图像看起来像[维基百科](http://en.wikipedia.org/wiki/Indexed_color#Disadvantages)中的'不正确的颜色调色板'示例吗? – sarnold 2011-03-23 19:59:49
不,不是一个索引问题,据我所知。色彩映射表是完整的32位。另外,尽管搞砸了,但只显示绿色,蓝色和黑色,但没有红色,根本没有,甚至没有混合(例如,没有紫色) – steveo225 2011-03-23 20:07:02
不要放弃Windows X服务器中的错误可能性。也许尝试一个不同的X服务器软件进行比较。 – 2011-03-23 20:39:09