亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

通過iOS創建和導出動畫gif嗎?

通過iOS創建和導出動畫gif嗎?

繁花不似錦 2019-11-22 11:01:27
我在iOS應用程序中有一系列用戶自定義圖像,這些圖像以簡單的逐幀翻轉書樣式進行動畫處理。我的問題是:有沒有辦法允許用戶將其動畫導出為動畫gif?理想情況下,我希望使他們能夠通過電子郵件發送電子郵件,社交共享(T / FB)或(最壞的情況。)將動畫gif保存到他們的文檔文件夾中,以便通過iTunes進行檢索。我知道如何將.png保存到圖片庫,并且找到了一種將動畫錄制為QT文件的方法(http://www.cimgf.com/2009/02/03/record-your-core-animation -animation /),但我還沒有找到一種方法來踢出普通的老式gif動畫。我在Core Animation或其他地方缺少什么嗎?有沒有人可以推薦的方法,框架或資源?很抱歉,這個問題過于籠統-努力尋找起點。
查看完整描述

3 回答

?
肥皂起泡泡

TA貢獻1829條經驗 獲得超6個贊

對于Swift 3


import Foundation

import UIKit

import ImageIO

import MobileCoreServices


extension UIImage {

    static func animatedGif(from images: [UIImage]) {

        let fileProperties: CFDictionary = [kCGImagePropertyGIFDictionary as String: [kCGImagePropertyGIFLoopCount as String: 0]]  as CFDictionary

        let frameProperties: CFDictionary = [kCGImagePropertyGIFDictionary as String: [(kCGImagePropertyGIFDelayTime as String): 1.0]] as CFDictionary


        let documentsDirectoryURL: URL? = try? FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: true)

        let fileURL: URL? = documentsDirectoryURL?.appendingPathComponent("animated.gif")


        if let url = fileURL as CFURL? {

            if let destination = CGImageDestinationCreateWithURL(url, kUTTypeGIF, images.count, nil) {

                CGImageDestinationSetProperties(destination, fileProperties)

                for image in images {

                    if let cgImage = image.cgImage {

                        CGImageDestinationAddImage(destination, cgImage, frameProperties)

                    }

                }

                if !CGImageDestinationFinalize(destination) {

                    print("Failed to finalize the image destination")

                }

                print("Url = \(fileURL)")

            }

        }

    }

}

我已經根據上面的答案將其轉換。希望對您有所幫助。


可作為要點。


歡迎進行編輯。


查看完整回答
反對 回復 2019-11-22
  • 3 回答
  • 0 關注
  • 959 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號