首页 > 解决方案 > 在 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

标签: iosswiftuiimagegifios-camera

解决方案


推荐阅读