目前有找到個算是偷吃步的作法,就是重新把COLORREF內部的R、G、B重新取出。
使用的介面名稱為GetRValue()、GetGValue()、GetBValue()。
不過取出的R、G、B值皆為BYTE型態,因此直接塞給GL是不能使用的。
這邊有測試過glColor3b()、glColor3i(),結果都是不可行的。
所以變成只能使用glColor3f()來設定顏色。
但由於glColor3f()只能輸入float,所以要再把取得到的R、G、B再除於255轉換成float。
不過一次要做三個除法,所以當繪製的圖形一多,或許會有效能的問題,這邊還需在想要如何處理會比較適合。
範例如下:
....
glColor3f(GetRValue(clrSelectedColor*1.0f/255,
GetGValue(clrSelectedColor)*1.0f/255,
GetBValue(clrSelectedColor)*1.0f/255);
....
No comments:
Post a Comment