2010-01-29 87 views
1

我有一個WTL C++應用程序,我希望用戶能夠爲某些UI元素選擇不同的顏色,並使用GradientFill API調用應用漸變填充。但是,不要讓用戶選擇漸變的開始和結束顏色,我希望他們能夠選擇「基本」顏色,併爲我的應用程序自動計算合適的開始/結束顏色。我想最終得到一個類似於Windows用於各種主題元素的填充。基礎顏色可以是漸變的「中間」顏色,我的應用程序以某種方式計算漸變開始的顏色稍淺,漸變結束的顏色稍深。或者,我可以使用底座作爲起始顏色並計算底部,反之亦然。計算給定基色的漸變填充的開始和結束顏色

我敢肯定,這對一些RGB宏魔法來說會相對容易,但我真的不知道從哪裏開始。任何想法都會受到歡迎。

回答

2

RGB顏色空間不適合這個。使用HSL or HSV,通過改變單個組件可以很容易地自動生成好看的漸變。從HSL/V轉換爲RGB三元組,您可以在API中使用simple