#43 從程式製作國旗圖案
Published in
11 min readJul 18, 2018
找出自己希望和情人度蜜月的國家,製作它的國旗圖案。
提示
如何查詢顏色的 RGB 和圖案的位置大小?
將圖片上傳到網站 iview,然後移動滑鼠游標查詢。
https://yangcha.github.io/iview/iview.html
基本題
範例
import UIKit
var rect = CGRect(x: 0, y: 0, width: 200, height: 134)
let backgroundView = UIView(frame: rect)
backgroundView.backgroundColor = UIColor(red: 1, green: 1, blue: 1, alpha: 1)
rect = CGRect(x: (backgroundView.frame.width - 106)/2, y: (backgroundView.frame.height - 106) / 2, width: 106, height: 106)
let circleView = UIView(frame: rect)
circleView.backgroundColor = UIColor(red: 1, green: 0, blue: 0, alpha: 1)
backgroundView.addSubview(circleView)
circleView.layer.cornerRadius = 53
backgroundView
建議找由長方形圖案構成的國旗比較簡單。
關於 addSubview 的說明,可參考以下連結。
進階題
繪製比較複雜的國旗,比方英國的三角形,韓國的太極圖,新加坡的月亮和星星。
對國旗無感的朋友,也可以製作其它的旗子,比方旭日旗,彩虹旗。
請 AI 設計也是不錯的方法,下圖是彼得潘請 AI 設計跟 Apple Swift 程式有關的旗子。
關於特殊形狀的繪製,可參考以下連結。
繪製對稱或是多個類似形狀的圖案時,可利用 CGAffineTransform 控制元件的縮放,位移和旋轉。