问题描述
如何将 UIView 转换为图像.我发现了这个 convert uiview to .png image 但我不熟悉 Objective-C.我尝试将其翻译成 Swift,但效果并不好.有什么帮助吗?
UIGraphicsBeginImageContext(myView.frame.size); [myView.layer renderInContext:UIGraphicsGetCurrentContext()]; UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); NSData *data=UIImagePNGRepresentation(viewImage); NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSString *strPath = [documentsDirectory stringByAppendingPathComponent:@"myimage.png"]; [data writeToFile:strPath atomically:YES];
推荐答案
试试这个:
UIGraphicsBeginImageContextWithOptions(myView.layer.frame.size, false, scale) myView.layer.renderInContext(UIGraphicsGetCurrentContext()!) let viewImage = UIGraphicsGetImageFromCurrentImageContext()! UIGraphicsEndImageContext() let data = UIImagePNGRepresentation(viewImage) let documentsDir = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as! String let writePath = documentsDir.stringByAppendingPathComponent("myimage.png") data.writeToFile(writePath, atomically:true)