在 Swift 中将 UIView 转换为 .png

2023-12-07

如何将 UIView 转换为图像。我找到了这个将 uiview 转换为 .png 图像但我对 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)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Swift 中将 UIView 转换为 .png 的相关文章

随机推荐

  • 毕加索图像未在 Gridview Android 中加载

    我一直在制作一个电影应用程序 顺便说一句 用于在 udacity 上学习 android 的项目工作 我遇到了一些问题 但通过以下线程解决了这些问题无法修改 ListView 中的 ArrayAdapter UnsupportedOpera
  • IE9 自动保存对话框 (vba)

    我正在尝试从网站下载 Excel 工作表 到目前为止 我已经实现了 直到自动单击下载按钮 网络抓取 现在 ie9 会弹出另存为屏幕 我如何自动化它 你可以试试这个 因为它在 IE9 上对我有用 复制文件C Windows System32
  • 如何使用 Unity 的 xml 配置创建和填充 Dictionary

    如何使用 Unity 的 xml 配置创建和填充字典 我需要创建一个字典并使用统一的依赖项引用填充对象 我怎样才能做到这一点 这有效
  • 使用逻辑(布尔)表达式对 Pandas Dataframe 进行切片

    当我尝试使用逻辑表达式对 Pandas 数据框进行切片时 出现异常 我的数据具有以下形式 df GDP norm SP500 Index deflated norm Year 1980 2 121190 0 769400 1981 2 17
  • 访问 javascript 文件 .js 中的 C# 变量

    是否可以使用一些 C 变量创建一个 javascript 文件 像这样的东西 var foo 或者我是否必须在 usercontrol ascx 中创建它们 并将其包含在部分 您不能在 js 文件中包含此代码 因为它不是由 asp net
  • 每个线程或每个调用一个 ZeroMQ 套接字?

    众所周知 ZeroMQ套接字不得共享应用程序线程之间 context t但实例可以 我有一个多线程应用程序 我想让每个线程不时与一个线程交换消息REQ REP socket 对方 事件 异常等 取决于他们正在做什么 他们正在做非 ZeroM
  • 指针递增和赋值

    C 中以下两行 int a int calloc automata size sizeof int int b a 我发现a和b共享同一个地址 如果我们有的话 情况就不是这样了 int a int calloc automata size
  • Spring MVC 与休眠验证不起作用

    我在使用 Spring 进行休眠验证时遇到一些问题 我按照在线教程中的说明做了所有操作 但它不起作用 我只是转到下一页 没有验证错误 import javax validation constraints NotNull import ja
  • Lotus Notes 从文档中获取附件名称

    我正在为 Notes 8 5 2 开发一个 Lotus Notes 插件 用于将电子邮件中的附件保存到硬盘 但是 当我尝试从 Notes 文档中读取附件名称时 我总是得到包含第一个附件名称 一些垃圾数据的相同字符串 protected Ve
  • 如何从 MySQL 数据库中回显换行符?

    我创建了一个简单的墙贴功能 就像在 Facebook 上一样 用户撰写帖子 帖子被提交到数据库 然后回显到网站上 这一切都有效 唯一的问题是 当文本回显到网站上时 换行符却没有回显 所以 我输入 嘿 这是一个帖子 这是一个新段落 它显示为
  • iOS 中的 NSData 和通过 POST 上传图像

    我一直在梳理很多关于在 iOS 中通过 POST 上传图像的帖子 尽管有关此主题的信息很丰富 但我无法正确上传从 iPhone 模拟器照片库中获取的 JPEG 数据 数据一旦到达服务器 就只是一长串十六进制的数据 NSData 不应该只是一
  • 条件 (C) 中可能的分配

    我必须找到数字 a 是两位数的奇数 如果发生错误 include
  • React-Native: ''请从构建脚本中删除 `jcenter()` Maven 存储库的使用...''

    I m build my project after added react native image crop picker But i meet this error Could you please to show me the wa
  • 使用 ControlTemplate 时 ListView 忽略 DataTemplates

    我尝试实现一个多列ListView 一切都工作得很好 直到我尝试设置列表视图项的鼠标悬停和选择外观的样式 因此 我创建了一个 ControlTemplate 请参阅下面的 XAML 当我使用 ControlTemplate 时 列的 Dat
  • -Djava.library.path=... 相当于 System.setProperty("java.library.path", ...)

    我加载一个外部库 该库位于 lib 这两种设置 java library path 的解决方案是否等效 执行jar时在控制台设置路径 java Djava library path lib jar myApplication jar 在加载
  • 动态与对象相同

    在 CLR via C 一书中提到 FCL类型对应的dynamic关键字是System Object 请澄清这一点 It s not从 C 的角度来看 这完全是一样的 但是在编译的代码中 声明为类型的变量dynamic通常 可能总是 与 C
  • 没有互联网连接的同步适配器

    我有一个工作正常的同步适配器 它不需要互联网连接 因为它需要将地址簿与另一个本地存储 我的应用程序 同步 当 Wifi 关闭并且设备没有任何互联网连接时 Android 会在 帐户和同步 设置活动中禁用同步 即使连接关闭 有没有办法让同步适
  • 从列表中删除重复项和原始项

    给定一个字符串列表 我想删除重复项和原始单词 例如 lst a b c c c d e e 输出应该删除重复项 所以像这样 a b d 我不需要保留订单 Use a collections Counter object 然后仅保留那些计数为
  • 关闭交互式 python 会话时结束非守护线程

    请考虑下面的代码 usr bin env python3 import threading import time class MyThread threading Thread def init self super init self
  • 在 Swift 中将 UIView 转换为 .png

    如何将 UIView 转换为图像 我找到了这个将 uiview 转换为 png 图像但我对 Objective C 不太熟悉 我尝试将其翻译成 Swift 但进展不太顺利 有什么帮助吗 UIGraphicsBeginImageContext