How Do I Save What I have Drawn In A CGContext

后端 未结 4 910
余生分开走
余生分开走 2020-12-30 12:28

I have drawn into a CGContext of a UIView.

- (void)drawRect:(CGRect)rect { 
    [self drawInContext:UIGraphicsGetCurrentContext()]  
}

I wo

4条回答
  •  遥遥无期
    2020-12-30 12:40

    let imageWidth = inputCGImage.width
    let imageHeight = inputCGImage.height
    
    let imageRect = NSRect(
        origin: .zero,
        size: CGSize(width: imageWidth, height: imageHeight)
    )
    
    context.draw(inputCGImage, in: imageRect)
    
    let outputImageRef = context.makeImage()!
    
    let paths = NSSearchPathForDirectoriesInDomains(.desktopDirectory, .userDomainMask, true) as [String]
    
    let destinationURL = NSURL(fileURLWithPath: paths.first!).appendingPathComponent("output.png")!
    
    guard let destination = CGImageDestinationCreateWithURL(destinationURL as CFURL, kUTTypePNG, 1, nil) else {
        throw HoleFillingError.CoreGraphicsError
    }
    
    CGImageDestinationAddImage(destination, outputImageRef, nil)
    CGImageDestinationFinalize(destination)
    

提交回复
热议问题