直播小程式原始碼,Swift 獲取漸變色顏色值
直播小程式原始碼,Swift 獲取漸變色顏色值
獲取顏色 RGB 值
/// 獲取 rgb func colorRGB(_ color: UIColor) -> (r: CGFloat, g: CGFloat, b: CGFloat, a:CGFloat) { var r: CGFloat = 0, g: CGFloat = 0, b: CGFloat = 0, a: CGFloat = 0 color.getRed(&r, green: &g, blue: &b, alpha: &a) return (r,g,b,a) }
獲取漸變色
原理: 獲取對應 RGB 計算等分值即可。
public extension UIColor { /// 獲取漸變色 /// - Warning: 未考慮透明度問題。 /// - Parameters: /// - startColor: 開始顏色 /// - endColor: 結束顏色 /// - count: 均分次數,返回顏色值數量,建議>=2 /// - Returns: 漸變色陣列, 數量始終會加上首位兩種顏色 static func gradientColors(start startColor:UIColor, end endColor: UIColor, count: Int) -> [UIColor] { /// 獲取 rgb func colorRGB(_ color: UIColor) -> (r: CGFloat, g: CGFloat, b: CGFloat, a: CGFloat) { var r: CGFloat = 0, g: CGFloat = 0, b: CGFloat = 0, a: CGFloat = 0 color.getRed(&r, green: &g, blue: &b, alpha: &a) return (r,g,b,a) } let startRGB = colorRGB(startColor) let endRGB = colorRGB(endColor) // 2. 計算均分顏色值(演算法參考:) guard count >= 2 else { return [startColor, endColor] } let stepR = (endRGB.r - startRGB.r) let stepG = (endRGB.g - startRGB.g) let stepB = (endRGB.b - startRGB.b) let red: CGFloat = startRGB.r let green: CGFloat = startRGB.g let blue: CGFloat = startRGB.b let colors = (0..<count).map() { index -> UIColor in let progress = CGFloat(index)/CGFloat(count-1) let color = UIColor(red: red + stepR * progress, green: green + stepG * progress , blue: blue + stepB * progress, alpha: 1) return color } return colors } }
以上就是直播小程式原始碼,Swift 獲取漸變色顏色值, 更多內容歡迎關注之後的文章
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2942106/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- DAPP/NFT質押借貸系統合約開發技術詳解(程式碼示例)
- PHP 圖片的合併,微信小程式碼合併,文字合併
- 基於OpenAI的程式碼編輯器,有點酷有點強!
- DeFi/NFT質押借貸(挖礦)系統模式開發及程式碼示例
- NFT質押借貸合約系統程式碼開發示例詳情丨DAPP丨defi丨NFT
- 《Python程式設計從零開始學(影片教學版)》資源免費下載
- HASH雜湊值競猜遊戲開發原始碼丨原始碼示例丨HASH雜湊遊戲程式設計
- 雜湊競猜遊戲(馬蹄鏈)系統模式開發程式碼示例(原始碼部署)
- 車載小程式如何改善車載裝置體驗與效能?
- 成品直播原始碼推薦,TableView/CollectionView 滑動頂部效果最佳化
- 直播平臺原始碼,iOS中使用 Date/NSDate 來獲取時間
- DeFi(去中心化)持幣生息理財系統開發程式設計示例及詳細方案
- 馬蹄鏈defi流動性挖礦系統合約開發技術及程式碼示例
- 程式碼審計是什麼?程式碼審計操作流程分為幾步?
- 透過電子名片小程式原始碼如何實現企業營銷新業態?