我正在做很多程序化界面自定义,比如渐变和边框,并且对如何修改颜色(给定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