如何使用(非方形)饼干切割模板裁剪照片?

时间:2016-10-25 21:20:17

标签: xcode swift3 crop

例如:用户拍摄好车的照片,然后希望能够将其裁剪成心形。我希望他们能够通过心脏模板查看照片,将他们想要的汽车图像的哪一部分滚动到心脏插槽中。然后,这只会保存心脏内部,使(部分,裁剪)图像成为心形。

不完全确定如何将它们拼凑在一起,或者是否可以裁剪不规则形状。有人对此有任何了解吗?并使用最近的Swift 3语法?

1 个答案:

答案 0 :(得分:0)

你的饼干切割器就是所谓的面膜图像。保持面具的白色部分;黑色部分被切掉。

  func masked(image:UIImage, mask:(UIImage))->UIImage?{
      guard let cgImage = image.cgImage, let cgMask = mask.cgImage else {
          return nil
      }
      UIGraphicsBeginImageContext(image.size)
      guard let context = UIGraphicsGetCurrentContext() else {
          return nil
      }
      let rect = CGRect(x: 0, y: 0, width: image.size.width, height: image.size.height)
      context.clip(to: rect, mask: cgMask)
      context.draw(cgImage, in: rect)
      return UIImage(cgImage: context.makeImage()!)
  }