Hue 是您可能需要的全能调色工具。
使用
十六进制
您可以使用 UIColor
上的便利构造函数 init(hex:)
方便地使用十六进制颜色。它支持以下十六进制格式 #ffffff
、ffffff
、#fff
、fff
let white = UIColor(hex: "#ffffff")
let black = UIColor(hex: "#000000")
let red = UIColor(hex: "#ff0000")
let blue = UIColor(hex: "#0000ff")
let green = UIColor(hex: "#00ff00")
let yellow = UIColor(hex: "#ffff00")
计算后的颜色属性
let white = UIColor(hex: "#ffffff")
let black = UIColor(hex: "#000000")
if white.isDarkColor {} // return false
if white.isBlackOrWhite {} // return true
Alpha
.alpha
是 colorWithAlphaComponent
的简写,它内部执行相同的操作,将其视为您实现的口红。
let colorWithAlpha = myColor.alpha(0.75)
渐变
您可以用数组上的UIColor
的gradient()
方法轻松创建渐变层。此外,如果您想修改CAGradientLayer
,还可以添加一个转换闭包。
let gradient = [UIColor.blackColor(), UIColor.orangeColor()].gradient()
let secondGradient = [UIColor.blackColor(), UIColor.orangeColor()].gradient { gradient in
gradient.locations = [0.25, 1.0]
return gradient
}
图像颜色
let image = UIImage(named: "My Image")
let (background, primary, secondary, detail) = image.colors()
组件
您可以使用UIColor的(red|green|blue|alpha)Component属性从任何UIColor中获取红色、绿色、蓝色和alpha组件。
let myColor = UIColor(hex: "#ffafc2")
let myColorBlueComponent = myColor.blueComponent
let myColorGreenComponent = myColor.greenComponent
let myColorRedComponent = myColor.redComponent
let myColorAlphaComponent = myColor.alphaComponent
混合
let red = UIColor.redColor()
let green = UIColor.greenColor()
let yellow = red.addRGB(green)
let desaturatedBlue = UIColor(hex: "#aaaacc")
let saturatedBlue = desaturatedBlue.addHue(0.0, saturation: 1.0, brightness: 0.0, alpha: 0.0)
示例
十六进制
这个简单的示例在一个轮播视图中展示了多种颜色方案。
它使用十六进制来设置方案的颜色。它还利用了.isDarkColor
来在各种场景中保证文本颜色的可读性。
此演示还展示了如何渲染轮播视图的Spots
。
示例代码
let color = UIColor(hex: "#3b5998")
backgroundColor = color
label.textColor = color.isDark
? UIColor.whiteColor()
: UIColor.darkGrayColor()
渐变
此示例展示了如何通过结合使用 CAGradientLayer
和 CABasicAnimation
来获得乐趣。
它使用 .hex
来获取颜色,并使用 .gradient()
将一组 UIColor
转换为 CAGradientLayer
。
此演示包含用于渲染列表视图的 Spots 和用于生成随机内容字符串的 Fakery。
演示提取
lazy var gradient: CAGradientLayer = [
UIColor(hex: "#FD4340"),
UIColor(hex: "#CE2BAE")
].gradient { gradient in
gradient.speed = 0
gradient.timeOffset = 0
return gradient
}
安装
Hue 通过 CocoaPods 提供。要安装它,只需将以下行添加到 Podfile
pod 'Hue'
Hue 也通过 Carthage 提供。要安装,只需在 Cartfile 中写入
github "hyperoslo/Hue"
作者
Hyper 制作此内容
贡献
我们希望您为 Hue 做出贡献,更多信息请查阅 CONTRIBUTING 文件。
致谢
感谢 Panic Inc 创建了 ColorArt 和 @jathu 对 UIImageColors 的工作,这些都极大地启发了图像颜色分析的功能。
许可证
源语意识 根据 MIT 许可证提供。更多详情请参阅 LICENSE 文件。