美文网首页
GIF 编辑

GIF 编辑

作者: tom__zhu | 来源:发表于2023-10-22 17:28 被阅读0次

    Input -> Edit -> Output

    Input

    gif 编辑需要对每帧操作,input 不能是 UIImage 实例,而是需要通过 Data 转为每一帧对应的 UIImage

    在资源列表页面选中需要编辑的 Gif 图,启动下面的流程

    1. PHAssert gif 资源写到 tmp 目录


      gif 文件写到 tem 目录

    Edit

    编辑 GIF 文件,流程如下

    1. 遍历 GIF 的序列帧中 UIImage 实例
    2. 对每一帧的 UIImage 实例做编辑处理,并得到新的 UIImage 实例
    3. 把新的 UIImage 转为 NSData
    4. 压缩 NSData
    5. 压缩后的 NSData 转为 UIImage 实例,并保存在数组中
    6. 把数组中所有 UIImage 实例转为 GIF 文件
    7. 把 处理后的 GIF 文件回调给业务


      image.png

      把数组中 UIImage 实例转为 GIF 步骤如下

    8. 每一帧的 UIImage 实例通过 CoreGraph 接口 CGImageDestinationAddImage 写到沙盒路径
    9. 通过 CGImageDestinationFinalize 判断图片是否写成功,写成功后,需要通过 NSData 转为 UIImage,得到对应的 GIF


    1. PHAsset URL 转 Data
    2. CGImage 转UIImage
    1. Edit


      编辑 gif

    相关文章

      网友评论

          本文标题:GIF 编辑

          本文链接:https://www.haomeiwen.com/subject/vczridtx.html