#6調色大師
Published in
6 min readDec 2, 2023
熟練 outlet,action,UISlider, UIColor。
利用小矮人練習調色,將小矮人的衣服變換顏色,先上網抓一張小矮人的圖片,將衣服顏色去背
加入兩個Image View,原圖放在底層,去背圖放上層,利用slider隨機改變衣服顏色,新增random和rest的button去調整
slider程式碼
跟著顏色去調整slider滑動
@IBAction func clothrgb(_ sender: Any) {
peoplecloth.backgroundColor = UIColor(red: CGFloat(clothredcolor.value), green: CGFloat(clothgreencolor.value), blue: CGFloat(clothbluecolor.value), alpha: CGFloat(clothalphacolor.value))
}
ramdom程式碼
按下ramdom隨機變色
@IBAction func ramdom(_ sender: Any) { clothredcolor.value = Float.random(in: 0...1)
clothbluecolor.value = Float.random(in: 0...1)
clothgreencolor.value = Float.random(in: 0...1)
clothalphacolor.value = Float.random(in: 0...1)
peoplecloth.backgroundColor = UIColor(red: CGFloat(clothredcolor.value), green: CGFloat(clothgreencolor.value), blue: CGFloat(clothbluecolor.value), alpha: CGFloat(clothalphacolor.value))
}
rest程式碼
按rest控制slider調到最左邊,和將顏色調0讓原圖衣服顏色顯示出來
@IBAction func rest(_ sender: Any) {
clothredcolor.value = 0
clothbluecolor.value = 0
clothgreencolor.value = 0
clothalphacolor.value = 0
peoplecloth.backgroundColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0)
}
完整程式碼
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var people: UIImageView!
@IBOutlet weak var peoplecloth: UIImageView!
@IBOutlet weak var clothredcolor: UISlider!
@IBOutlet weak var clothbluecolor: UISlider!
@IBOutlet weak var clothgreencolor: UISlider!
@IBOutlet weak var clothalphacolor: UISlider!
@IBOutlet weak var clothlabel: UILabel!
@IBOutlet weak var ramdom: UIButton!
@IBOutlet weak var rest: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func clothrgb(_ sender: Any) {
peoplecloth.backgroundColor = UIColor(red: CGFloat(clothredcolor.value), green: CGFloat(clothgreencolor.value), blue: CGFloat(clothbluecolor.value), alpha: CGFloat(clothalphacolor.value))
}
@IBAction func ramdom(_ sender: Any) { clothredcolor.value = Float.random(in: 0...1)
clothbluecolor.value = Float.random(in: 0...1)
clothgreencolor.value = Float.random(in: 0...1)
clothalphacolor.value = Float.random(in: 0...1)
peoplecloth.backgroundColor = UIColor(red: CGFloat(clothredcolor.value), green: CGFloat(clothgreencolor.value), blue: CGFloat(clothbluecolor.value), alpha: CGFloat(clothalphacolor.value))
}
@IBAction func rest(_ sender: Any) {
clothredcolor.value = 0
clothbluecolor.value = 0
clothgreencolor.value = 0
clothalphacolor.value = 0
peoplecloth.backgroundColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0)
}
}