【问题标题】:Crop image in swift快速裁剪图​​像
【发布时间】:2015-06-04 11:53:59
【问题描述】:

我正在尝试快速裁剪图​​像。我正在尝试实现类似的东西,用户将拍摄照片。捕获照片后,将允许用户设置裁剪区域。我能够从该裁剪区域获取图像,但我希望裁剪图像的大小应调整为特定的宽度和高度。也就是说,如果特定的高度或宽度较小,则应调整其大小。

此图像应具有最大宽度和高度的框架。目前它只是增加了其他领域的透明度。

我还添加了我的裁剪代码

            let tempLayer = CAShapeLayer()
            tempLayer.frame = self.view.frame
            
            let path = UIBezierPath()
            var endPoint: CGPoint!
            
            for (var i = 0; i<4; i++){
                let tag = 101+i
                let pointView = viewCrop.viewWithTag(tag)
                switch (pointView!.tag){
                case 101:
                    endPoint = CGPointMake(pointView!.center.x-20, pointView!.center.y-20)
                    path.moveToPoint(endPoint)
                default:
                    path.addLineToPoint(CGPointMake(pointView!.center.x-20, pointView!.center.y-20))
                }
            }
            
            path.addLineToPoint(endPoint)
            path.closePath()
            tempLayer.path = path.CGPath
            
            tempLayer.fillColor = UIColor.whiteColor().CGColor
            tempLayer.backgroundColor = UIColor.clearColor().CGColor
            imgReceiptView.layer.mask = tempLayer
            
            UIGraphicsBeginImageContextWithOptions(viewCrop.bounds.size, imgReceiptView.opaque, 0.0);
            imgReceiptView.layer.renderInContext(UIGraphicsGetCurrentContext())
            let cropImg = UIGraphicsGetImageFromCurrentImageContext()
            UIGraphicsEndImageContext();
            
            UIImageWriteToSavedPhotosAlbum(cropImg, nil, nil, nil)
            imgReceiptView.hidden = true
            
            let tempImageView = UIImageView(frame: CGRectMake(20,self.view.center.y-80, self.view.frame.width-40,160))
            tempImageView.backgroundColor = UIColor.grayColor()
            tempImageView.image = cropImg
            tempImageView.tag = 1001
            tempImageView.layer.masksToBounds = true
            self.view.addSubview(tempImageView)

任何帮助将不胜感激

提前致谢

【问题讨论】:

    标签: swift uiimageview uigraphicscontext image-masking


    【解决方案1】:

    使用此库将图像裁剪为用户特定

    https://github.com/kishikawakatsumi/PEPhotoCropEditor

    谢谢 希望对您有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-10-23
      • 2020-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-30
      • 2019-03-05
      相关资源
      最近更新 更多