问题描述
如果我将图像添加到CAShapeLayer内容中,该图像变大并覆盖整个屏幕,我似乎无法弄清楚如何向CAShapeLayer添加图像
static func addShapeForEyebrows(withPoints points: [NSValue]?,to view: UIView,image: UIImage) {
guard let points = points else { return }
let path = UIBezierPath()
for (index,value) in points.enumerated() {
let point = value.cgPointValue
if index == 0 {
path.move(to: point)
} else {
path.addLine(to: point)
}
if index == points.count - 1 {
path.close()
}
}
let shapeLayer = CAShapeLayer()
shapeLayer.path = path.cgPath
shapeLayer.fillColor = UIColor.systemPink.cgColor
let rect = CGRect(x: 0,y: 0,width: view.frame.size.width,height: view.frame.size.height)
let shapeView = UIView(frame: rect)
shapeView.layer.addSublayer(shapeLayer)
view.addSubview(shapeView)
}
因此,在这段代码中,我使用Bezier Path创建了一个自定义形状,并使用CAShapeLayer我需要添加图像,该功能实际上是在脸部眉毛上创建一个形状,现在只需要添加图像即可,我已经尝试过了其他答案(例如添加重力顶部和填充物)中提出了什么建议,但这完全改变了图像在面部的位置,因此不起作用
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)