部分截图与Swift 3

时间:2017-03-28 10:25:19

标签: ios swift3 screenshot

我想在我的项目中制作部分截图。 但是,我试过输出截图并不是我想要的好。
这是我的代码。

let size = CGSize(width: 398, height: 300)

    UIGraphicsBeginImageContextWithOptions(size, false, 0);

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

    var sourceImage = UIGraphicsGetImageFromCurrentImageContext()

    sourceImage?.draw(at: CGPoint(x: 0, y: 0))

    var cropimage = UIGraphicsGetImageFromCurrentImageContext()


    UIGraphicsEndImageContext()
    UIImageWriteToSavedPhotosAlbum(cropimage!,nil,nil,nil)

enter image description here


我想只保存白色View。如果我设置宽度和高度,输出图像很小,不会完全。
有人帮我吗?

1 个答案:

答案 0 :(得分:1)

扩展UIView并捕获该白色视图的图像

// Untested
import UIKit

extension UIView {

  func capture() -> UIImage {

    UIGraphicsBeginImageContextWithOptions(self.frame.size, self.opaque, UIScreen.mainScreen().scale)
    self.layer.renderInContext(UIGraphicsGetCurrentContext()!)
    let image = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()

    return image
  }

}

用法:

let whiteImage = myWhiteView.capture()