程序開發過程中,經常會遇到需要支持動態配置主題顏色的問題,通常,一個程序會有多種不同的顏色風格主題供選
有時候,更細致一些的地方,會需要支持自己配置顏色,這樣我們就需要一個顏色選擇器啦,下面是我自己開發的一個顏色選擇器。 源碼點這里
不在意怎么實現的可以不往下看了,很多顏色轉換特性和基礎代碼,參考了一些開源的控件庫,在此感謝一下AduSkin https://www.cnblogs.com/aduskin
下面啰嗦幾句
通常,我們可以使用System.Windows.Forms.ColorDialog
個人覺得這個界面有點老舊了,也不是很好用,當你的程序是高度風格定制逼格很高的時候(比如類游戲風格的界面),彈出這么個windowsxp風格的老爺選擇框,還是挺出戲的
然而WPF又沒有為我們提供這個玩意。那么我們能否自己搞一個那?
參考一下visual stuido 的顏色編輯框,整一個又有哪些困難那?
這個顏色選擇器,其實是RGB顏色模式和HSB顏色模式的結合使用,來提供方便直觀的顏色選擇。
不理解的小伙伴需要補一補RGB和HSB顏色的相關知識,不然很難理解可以參考下這個博客https://www.cnblogs.com/wang726zq/p/3660581.html
當然其實我也不是很懂這些顏色邏輯,但是只要明白那幾個顏色計算的公式,就可以計算出來
1:計算H
色相取值0°~360°,代表截面上紅、黃、綠、青、藍、粉,紅的顏色變化。看下面的代碼,從上到下的顏色變化,被均勻的分成6斷。且從上到下,分別對應了H值的0-360度
2 計算S B
先看源碼把,此處以后再寫,一時語塞。