如何将不规则形状存储为UIImage?

时间:2018-01-05 04:41:29

标签: ios swift image uiimage

我用这个GitHub Repository制作了一个可以将图像裁剪成不规则形状的图像裁剪器。截至目前,我已经实现了此存储库,并且能够以链接中所示的不规则形状裁剪UIImages。

在当前状态下,裁剪器使用UIBezierPath和CAShapeLayer来获取普通(矩形)UIImage并剪切出未包含在形状中的部分。由于我试图将这个UIImage存储在数据库中,我需要将它存储为UIImage,而不必存储裁剪图像的CAShapeLayer和UIBezierPath。

有没有办法让这个裁剪部分成为不规则形状的UIImage?如果没有,是否有另一种方法使用用户绘制的路径裁剪照片,如上面的链接所示,这将允许它存储为不规则形状的UIImage?

谢谢!

1 个答案:

答案 0 :(得分:0)

请完整检查此库。他们定义了一种方法,您可以从Graphic上下文中获取图像。

func cropImage(){
        UIGraphicsBeginImageContextWithOptions(tempImageView.bounds.size, false, 1)

        tempImageView.layer.render(in: UIGraphicsGetCurrentContext()!)

        let newImage = UIGraphicsGetImageFromCurrentImageContext()

        UIGraphicsEndImageContext()

        self.croppedImage = newImage!
    }

这是您可以获得UIImage并根据您的要求使用它的方法。