がここにコードを参照してください - 。>swift-create-a-gif-from-images-and-turn-it-into-nsdata
上記のコードはOS Xで使用されているので少し調整しました。
インポートImageIO
とMobileCoreServices
func createGIF(with images: [UIImage], name: URL, loopCount: Int = 0, frameDelay: Double) {
let destinationURL = name
let destinationGIF = CGImageDestinationCreateWithURL(destinationURL as CFURL, kUTTypeGIF, images.count, nil)!
// This dictionary controls the delay between frames
// If you don't specify this, CGImage will apply a default delay
let properties = [
(kCGImagePropertyGIFDictionary as String): [(kCGImagePropertyGIFDelayTime as String): frameDelay]
]
for img in images {
// Convert an UIImage to CGImage, fitting within the specified rect
let cgImage = img.cgImage
// Add the frame to the GIF image
CGImageDestinationAddImage(destinationGIF, cgImage!, properties as CFDictionary?)
}
// Write the GIF file to disk
CGImageDestinationFinalize(destinationGIF)
}
この方法でそれを使用します。
let documentsURL = FileManager.default.urls(for: .documentDirectory,
in: .userDomainMask).first
let path = documentsURL!.appendingPathComponent("1.gif")
createGIF(with: images, name: path, frameDelay: 0.1)
// you can check the path and open it in Finder, then you can see the file
print(path)
私もgithubの上でデモを作った - > [写真に画像を保存するsaveImagesAsGif
が重複する可能性をライブラリを使用してSwift 2.0](http://stackoverflow.com/questions/35761247/saving-an-image-to-photos-library-using-swift-2-0) –
@A rtemNovichkovアニメーションのGIF形式で画像を保存したい。その可能性のある重複フラグを削除してください –