我正在做很多程序化界面自定義,比如漸變和邊框,並且對如何修改顏色(給定HSV或RGB值)以產生色調和陰影(請參閱示例)感興趣。我知道色彩是一種顏色+白色,而陰影是一種顏色+黑色。iPhone iOS如何以編程方式創建色調和陰影?
是否有一些算法可用於採用默認的iOS顏色,如藍色,並以編程方式創建該顏色的幾種色調和陰影?
謝謝!
我正在做很多程序化界面自定義,比如漸變和邊框,並且對如何修改顏色(給定HSV或RGB值)以產生色調和陰影(請參閱示例)感興趣。我知道色彩是一種顏色+白色,而陰影是一種顏色+黑色。iPhone iOS如何以編程方式創建色調和陰影?
是否有一些算法可用於採用默認的iOS顏色,如藍色,並以編程方式創建該顏色的幾種色調和陰影?
謝謝!
可以使用。
[UIColor colorWithRed:29.0/255.0 green:42.0/255.0 blue:74.0/255.0 alpha:1.0];
例如,如果非要給導航欄的色調顏色比
self.navigationController.navigationBar.tintColor = [UIColor colorWithRed:29.0/255.0 green:42.0/255.0 blue:74.0/255.0 alpha:1.0];
我想你誤解了這個問題。他正在尋找一種算法來從單一顏色創建不同的陰影。 – sosborn
是的,我試圖避免硬編碼任何東西,而是想在我的界面中使用諸如「20%陰影的藍色」或「10%的紅色」之類的顏色。 –
對不起,我不是在我的電腦,所以我可以的算法就不寫出來了,但是這是你所需要的方法:
+ (UIColor *)colorWithHue:(CGFloat)hue saturation:(CGFloat)saturation brightness:(CGFloat)brightness alpha:(CGFloat)alpha
你選擇你的起始色相和飽和度(飽和度大概應該是在1.0,但做什麼是適合您的情況),然後你在一個循環遞增明亮值來獲得新的陰影。可能最好有一個數組,您可以將顏色放入,然後您可以返回該數組並根據需要使用它。
通過減少亮度可以得到陰影。內置顏色從1.0(最大)的亮度開始。添加白色以創建色彩似乎更復雜 –
這是工具,我使用越來越十六進制值的色彩和色調:http://slayeroffice.com/tools/color_palette/
它基本上相當於HTML我的教程你指向的。
不認爲有什麼「內置的」...你將不得不嘗試找到一些C的HSV算法並使用它們。 – nielsbot