// pod Toucan库
import Toucan
override func viewDidLoad() {
let myImage = UIImage(named: "Portrait")!
// 绘制有圆角图
let resizedImage = Toucan(image: myImage).resize(CGSize(width: 100, height: 100), fitMode: .crop).maskWithRoundedRect(cornerRadius: 12).image
//Toucan(image: myImage).resize(CGSize(width: 100, height: 100), fitMode: .crop).maskWithEllipse().image //绘制无圆角
let newImageView = UIImageView(image: resizedImage)
newImageView.center = self.view.center
self.view.addSubview(newImageView)
//正八边形边长
let edgeLeight: CGFloat = abs(50*sin(22.5))
//图形所在区域大小
let graphicsWidth: CGFloat = 100
let graphicsHeight: CGFloat = 100
//斜角度位置离(0,0)点的距离
let marginWidth:CGFloat = abs(edgeLeight*sin(22.5))+3
//绘制一个正八边形图
let path = UIBezierPath()
path.move(to: CGPoint(x: graphicsWidth*0.5, y: 0))
path.addLine(to: CGPoint(x: (graphicsWidth-marginWidth), y: marginWidth))
path.addLine(to: CGPoint(x: graphicsWidth, y: graphicsHeight*0.5))
path.addLine(to: CGPoint(x: graphicsWidth-marginWidth, y: (graphicsHeight-marginWidth)))
path.addLine(to: CGPoint(x: graphicsWidth*0.5, y: graphicsHeight))
path.addLine(to: CGPoint(x: marginWidth , y: graphicsHeight-marginWidth))
path.addLine(to: CGPoint(x: 0, y: graphicsHeight*0.5))
path.addLine(to: CGPoint(x: marginWidth, y: marginWidth))
path.close()
let newImage = UIImage(named: "Portrait")!
let resizedImage2 = Toucan(image: newImage).resize(CGSize(width: 160, height: 160), fitMode: .clip).maskWithPath(path: path).image
let imgView = UIImageView(image: resizedImage2)
imgView.center = CGPoint(x: self.view.center.x, y: newImageView.frame.maxY+100)
self.view.addSubview(imgView)
}