ios – 如何从照片库加载动画GIF

ios – 如何从照片库加载动画GIF,第1张

概述在iOS Swift中,我很难将动画GIF从设备照片加载到UIImageView或从中创建.gif文件.如果它是服务器上的文件或者它在应用程序中是正确的,那么显示动画GIF没有问题.但是,当我从照片库加载它时,我丢失了动画.我发现了一些Objective-C解决方案并尝试将它们转换为Swift,但没有任何运气. 这是我到目前为止: @IBAction func buttonTapped(send 在iOS Swift中,我很难将动画GIF从设备照片库加载到UIImageVIEw或从中创建.gif文件.如果它是服务器上的文件或者它在应用程序中是正确的,那么显示动画GIF没有问题.但是,当我从照片库加载它时,我丢失了动画.我发现了一些Objective-C解决方案并尝试将它们转换为Swift,但没有任何运气.

这是我到目前为止:

@IBAction func buttonTapped(sender: UIbutton) {    selectPhoto()}func selectPhoto() {    let photolibraryController = UIImagePickerController()    photolibraryController.delegate = self    photolibraryController.sourceType = UIImagePickerControllerSourceType.Photolibrary    let mediaTypes:[String] = [kUTTypeImage as String]    photolibraryController.mediaTypes = mediaTypes    photolibraryController.allowsEditing = false    self.presentVIEwController(photolibraryController,animated: true,completion: nil)}// UIImagePickerControllerDelegatefunc imagePickerController(picker: UIImagePickerController,dIDFinishPickingMediawithInfo info: [String : AnyObject]) {    let origImage = info[UIImagePickerControllerOriginalimage] as! UIImage    self.imageVIEw.image = origImage    picker.dismissVIEwControllerAnimated(true,completion: nil)}

最理想的情况是,我想将照片库图像保存到服务器上的gif文件中.从那里我可以毫不费力地显示它.但是,我需要一些帮助将照片库中的数据转换为某种类型的属性,而不会丢失动画.我需要使用像ALAssetsLibrary这样的东西吗?

谢谢.

解决方法 是的,使用ALAssetsLibrary→现在称为PHAsset.

你应该得到gif的NSData,而不是UIImage(因为UIImage只会得到第一帧.)

所以基本上你会做这样的事情:

一个你获得资产

let requestoptions = PHImageRequestoptions()requestoptions.isSynchronous = true // adjust the parameters as you wish    PHImageManager.default().requestimageData(for: asset,options: requestoptions,resultHandler: { (imageData,UTI,_,_) in    if let uti = UTI,let data = imageData,// you can also use UTI to make sure it's a gif       UTTypeConformsTo(uti as CFString,kUTTypeGIF) {        // save data here    }})

资源:PHAsset

总结

以上是内存溢出为你收集整理的ios – 如何从照片库加载动画GIF全部内容,希望文章能够帮你解决ios – 如何从照片库加载动画GIF所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1077768.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存