簡體   English   中英

X11:將像素值轉換為RGB

[英]X11: Convert Pixel value to RGB

我對X11相對較新,並且擴展了X11應用程序。 我需要將類型為Pixel的變量中的顏色轉換為其RGB分量。 我的理解是,這取決於應用程序的外觀。 對於TrueColorDirectColor視覺效果,我可以查看XVisualInfo並使用bits_per_rgb{red,green,blue}_mask成員。

但是對於PseudoColor或其他視覺效果該怎么辦? 我需要的是諸如

void PixelToRGB(Pixel p, XVisualInfo *v, uint16_t *r, uint16_t *g, uint16_t *b)

我正在閱讀Xlib編程手冊,但找不到有關如何實現此功能的信息。

我還沒有完成Xlib編程,所以這是有根據的猜測,但是您應該能夠從有問題的窗口的XWindowAttributes中獲取ColorMap ,並且像素值將成為色圖的索引。 顯然,查找是通過將像素填充到XColor並調用XQueryColor來完成的,這將填充XColorredgreenblue字段。 我相信即使使用DirectColorTrueColor視覺效果也應該做到這一點,因為在DirectColor視覺效果的情況下,色圖可能包含伽瑪校正之類的內容,並且可能包含更奇怪的東西(怪異的色彩循環效果?)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM