★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公衆號:山青詠芝(shanqingyongzhi)
➤博客園地址:山青詠芝(https://www.cnblogs.com/strengthen/)
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:http://www.javashuo.com/article/p-tlvjvber-ky.html
➤若是連接不是山青詠芝的博客園地址,則多是爬取做者的文章。
➤原文已修改更新!強烈建議點擊原文地址閱讀!支持做者!支持原創!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★html
目錄:[Swift]通天遁地Swiftios
本文將演示第三方類庫「變色龍」建立互補色、漸變色、以及圖片主題顏色。git
首先確保在項目中已經安裝了所需的第三方庫。github
點擊【Podfile】,查看安裝配置文件。swift
1 platform :ios, '12.0' 2 use_frameworks! 3 4 target 'DemoApp' do 5 source 'https://github.com/CocoaPods/Specs.git' 6 pod 'ChameleonFramework/Swift', :git => 'https://github.com/ViccAlexander/Chameleon.git' 7 end
根據配置文件中的相關配置,安裝第三方庫。微信
而後點擊打開【DemoApp.xcworkspace】項目文件。ide
在項目導航區,打開視圖控制器的代碼文件【ViewController.swift】post
如今開始編寫代碼,獲取互補色、漸變色、以及圖片主題顏色。字體
1 import UIKit 2 //在當前的類文件中,引入已經安裝的第三方類庫 3 import ChameleonFramework 4 5 class ViewController: UIViewController { 6 7 override func viewDidLoad() { 8 super.viewDidLoad() 9 // Do any additional setup after loading the view, typically from a nib. 10 11 //建立互補色或對比色 12 complementaryAndcontrasting() 13 14 //用於建立漸變顏色 15 gradientColors() 16 17 //得到圖片的主題色 18 colorFromeImage() 19 } 20 21 //添加一個方法,用來生成互補色或對比色 22 func complementaryAndcontrasting() 23 { 24 //初始化一個標籤對象,其顯示區域和根視圖相同。 25 //該標籤對象的字體顏色將用來顯示其背景色 26 let label = UILabel(frame: self.view.frame) 27 //將其放置在根視圖的中心位置 28 label.center = self.view.center 29 //設置標籤的文字內容 30 label.text = "Complementary Color" 31 //設置文字的對齊方式爲居中對齊 32 label.textAlignment = .center 33 //設置標籤的背景顏色爲橙色 34 label.backgroundColor = UIColor.orange 35 36 //設置標籤的字體顏色,爲其背景顏色的互補色 37 //label.textColor = UIColor(complementaryFlatColorOf:label.backgroundColor!) 38 39 //設置標籤的字體顏色,爲其背景顏色的對比色 40 label.textColor = UIColor(contrastingBlackOrWhiteColorOn: label.backgroundColor!, isFlat: true) 41 42 //將標籤視圖添加到根視圖 43 self.view.addSubview(label) 44 } 45 46 //添加一個方法,用於建立漸變顏色 47 func gradientColors() 48 { 49 //初始化一個視圖對象,並設置視圖 對象的顯示區域 50 let view = UIView(frame: self.view.frame) 51 //設置視圖的背景顏色爲漸變顏色 52 view.backgroundColor = UIColor(gradientStyle: .radial,//徑向漸變 53 withFrame: self.view.frame, 54 andColors: [.yellow, .orange])//由黃到橙 55 view.backgroundColor = UIColor(gradientStyle: .leftToRight, 56 withFrame: self.view.frame, 57 andColors: [.yellow, .orange]) 58 //將視圖對象添加到根視圖 59 self.view.addSubview(view) 60 } 61 62 //添加一個方法,得到圖片的主題色 63 func colorFromeImage() 64 { 65 //讀取項目中的一張圖片素材 66 let image = UIImage(named: "Pic") 67 //初始化一個圖像視圖,用來顯示圖片素材 68 let imageView = UIImageView(frame: CGRect(x: 0, 69 y: 20, 70 width: 320, 71 height: 220)) 72 //將圖片素材賦予圖像視圖 73 imageView.image = image 74 //將圖像視圖添加到根視圖 75 self.view.addSubview(imageView) 76 77 //從圖像視圖中得到一份扁平化的配色方案 78 //let colors = ColorsFromImage(image!, withFlatScheme: true) 79 80 //從圖像視圖中得到一份非扁平化的配色方案 81 let colors = ColorsFromImage(image!, withFlatScheme: false) 82 83 //初始化一個數值爲0的變量 84 var dy = 0 85 //對配色方案中的顏色進行遍歷,從而經過相同數量的視圖 86 //顯示配色方案中的各類顏色。 87 for color in colors 88 { 89 //初始化一個指定顯示區域的視圖 90 dy += 40 91 let frame = CGRect(x: 20, y: 220+dy, width: 280, height: 40) 92 let view = UIView(frame: frame) 93 //設置視圖的背景顏色,爲配色方案中的顏色 94 view.backgroundColor = color 95 //並將視圖添加到根視圖中 96 self.view.addSubview(view) 97 } 98 99 //得到圖像中的平均顏色 100 let averageColor = UIColor(averageColorFrom: image!) 101 //初始化另外一個視圖對象,用來顯示平均顏色 102 let view = UIView(frame: CGRect(x: 20, y: 500, width: 280, height: 40)) 103 //設置視圖的背景顏色爲平均顏色 104 view.backgroundColor = averageColor 105 //將視圖添加到根視圖中 106 self.view.addSubview(view) 107 } 108 109 override func didReceiveMemoryWarning() { 110 super.didReceiveMemoryWarning() 111 // Dispose of any resources that can be recreated. 112 } 113 }