一直觉得自己写的不是技术,而是情怀,一个个的教程是自己这一路走来的痕迹。靠专业技能的成功是最具可复制性的,希望我的这条路能让你们少走弯路,希望我能帮你们抹去知识的蒙尘,希望我能帮你们理清知识的脉络,希望未来技术之巅上有你们也有我。
源码下载链接
前言
直接看下面的gif图片效果
使用起来也是很简单的。下面的gif图片可以看到每次进去专辑列表详情控制器,顶部的颜色都是根据图片来计算出的均匀色,作为顶部的颜色。
正题
OC
UIColor *color = [MDImageColor mostColor:[UIImage imageNamed:[NSString new]]].color;
Swift
之前在(NSWL)Swift的项目里面使用过 获取图片均匀色的需求.也是需求同样的使用OC的封装
把颜色转换成String
// UIColor -> Hex String
var hexString: String? {
var red: CGFloat = 0
var green: CGFloat = 0
var blue: CGFloat = 0
var alpha: CGFloat = 0
let multiplier = CGFloat(255.999999)
guard self.getRed(&red, green: &green, blue: &blue, alpha: &alpha) else {
return nil
}
if alpha == 1.0 {
return String(
format: "#%02lX%02lX%02lX",
Int(red * multiplier),
Int(green * multiplier),
Int(blue * multiplier)
)
}
else {
return String(
format: "#%02lX%02lX%02lX%02lX",
Int(red * multiplier),
Int(green * multiplier),
Int(blue * multiplier),
Int(alpha * multiplier)
)
}
}
把String转换成颜色
UIColor(hexString: color)
精彩链接
发表评论