ios - 在 IOS 开发中,如何使用 swift 编程语言从用户相机胶卷中检索到的 gif 图像创建 GIF 文件?
问题描述
我正在通过 GitHub 使用一个名为 YPImagePicker ( https://github.com/Yummypets/YPImagePicker?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more ) 的库来促进我正在开发的应用程序中的媒体选择。我遇到的问题是,当从相机胶卷中选择 gif 文件时,它会在内部保存为 JPEG 图像数据,这不允许它在引擎盖下保存为 gif 图像数据。我仔细追踪了底层代码,但无济于事。为了解决这个问题,我尝试执行以下操作: 1. 我首先捕获从相机胶卷拍摄的原始图像,并检查其元数据是否包含从相机胶卷捕获 gif 图像的“GIF”格式,并检查其元数据是否为 GIF. 2. 然后我使用了一个帮助类来创建图像数据并为图像创建一个文件 URL,以便在向服务器帮助类创建表单 POST 请求时使用它,该帮助类为新捕获的 gif 图像数据创建一个文件。该助手类使用了一个 UIImage 扩展,我从堆栈溢出助手 UIImage 扩展的答案中收到了该扩展,该扩展基于底层图像数据创建图像数据. 我遇到的问题是,假定的 GIF 文件仍然仅作为 JPEG 文件输出。我不确定问题是从库开始还是从我的自定义实现解决方案开始。在应用程序中,当用户从相机胶卷中选择完 GIF 图像后,图像将显示为静止而不是动画。最好的猜测是,当实际从相机胶卷中检索到图像时,就会出现问题。该库使用 PHOTOKit 框架和 ImageIO 框架。我不知道是否应该重构库的代码以满足我的需求,或者完全转储库并从头开始实施解决方案。库 git 存储库再次是https://github.com/Yummypets/YPImagePicker?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more
解决方案
推荐阅读
- firebase - 网站可以通过主机名访问,但不能通过 ip
- python - Python排序未正确排序计数器输出
- export - 处理 3.5.4 导出应用程序 MacOS/Win 解决方案
- javascript - 如何修复导航栏,以便在该人未查看导航栏时删除菜单?| CSS / Javascript
- flutter - 如何从 Flutter 中的 StorageReference 获取文件类型
- javascript - 如何从 sendMessage 中获取 discord.io 消息 ID?
- java - MockMVC - 调用接受多部分文件的 PUT 端点
- java - Spring boot/Java、mongodb SSL/TLS 连接
- xamarin.forms - MVVM 媒体插件不显示图片
- r - 在闪亮的传单 r 中将缩放级别设置为 7.25