直播小程序源码,Swift 获取渐变色颜色值

直播小程序源码,Swift 获取渐变色颜色值

获取颜色 RGB 值

 

1
/// 获取 rgb<br>        func colorRGB(_ color: UIColor) -> (r: CGFloat, g: CGFloat, b: CGFloat, a:CGFloat) {<br>            var r: CGFloat = 0, g: CGFloat = 0, b: CGFloat = 0, a: CGFloat = 0<br>            color.getRed(&r, green: &g, blue: &b, alpha: &a)<br>            return (r,g,b,a)<br>        }<br> 

获取渐变色

原理: 获取对应 RGB 计算等分值即可。

 

1
<br>public extension UIColor {<br>    /// 获取渐变色<br>    /// - Warning: 未考虑透明度问题。<br>    /// - Parameters:<br>    ///   - startColor: 开始颜色<br>    ///   - endColor: 结束颜色<br>    ///   - count: 均分次数,返回颜色值数量,建议>=2<br>    /// - Returns: 渐变色数组, 数量始终会加上首位两种颜色<br>    static func gradientColors(start startColor:UIColor, end endColor: UIColor, count: Int) -> [UIColor] {<br>        /// 获取 rgb<br>        func colorRGB(_ color: UIColor) -> (r: CGFloat, g: CGFloat, b: CGFloat, a: CGFloat) {<br>            var r: CGFloat = 0, g: CGFloat = 0, b: CGFloat = 0, a: CGFloat = 0<br>            color.getRed(&r, green: &g, blue: &b, alpha: &a)<br>            return (r,g,b,a)<br>        }<br>        <br>        let startRGB = colorRGB(startColor)<br>        let endRGB = colorRGB(endColor)<br>        <br>        // 2. 计算均分颜色值(算法参考:https://wenku.baidu.com/view/8578cb2879563c1ec5da71e0.html)<br>        guard count >= 2 else {<br>            return [startColor, endColor]<br>        }<br>        let stepR = (endRGB.r - startRGB.r)<br>        let stepG = (endRGB.g - startRGB.g)<br>        let stepB = (endRGB.b - startRGB.b)<br>        <br>        let red: CGFloat = startRGB.r<br>        let green: CGFloat = startRGB.g<br>        let blue: CGFloat = startRGB.b<br>        <br>        let colors = (0..<count).map() {<br>            index -> UIColor in<br>            let progress = CGFloat(index)/CGFloat(count-1)<br>            let color = UIColor(red: red + stepR * progress, green: green + stepG * progress , blue: blue + stepB * progress, alpha: 1)<br>            return color<br>        }<br>        return colors<br>    }<br>}

 

 以上就是直播小程序源码,Swift 获取渐变色颜色值, 更多内容欢迎关注之后的文章

 

posted @   云豹科技-苏凌霄  阅读(130)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
历史上的今天:
2022-03-28 在线直播源码,对话框左滑显示删除按钮
2022-03-28 短视频源码,在Android 中opengl es实现灯光效果
2022-03-28 短视频开发app,webservice自定义加入拦截器
点击右上角即可分享
微信分享提示