在Swift中将UIView转换为.png [英] Convert UIView to .png in Swift

查看:242
本文介绍了在Swift中将UIView转换为.png的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何将UIView转换为图像。我发现这个将uiview转换为.png图片,但我不熟悉Objective -C。我把它翻译成斯威夫特,但它并没有那么顺利。可以帮忙吗?

How do I convert a UIView to an image. I found this convert uiview to .png image but I'm not to familiar with Objective-C. I took a stab at translating this to Swift but it didn't go so well. could any help?

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)

这篇关于在Swift中将UIView转换为.png的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆