微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在CAShapeLayer中添加图像

如何解决在CAShapeLayer中添加图像

如果我将图像添加到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 举报,一经查实,本站将立刻删除。