Unnecessary effect have been found when creating GIF using array of UIImages

Viewed 66

I'm using following code to create GIF from array of UIImages.

func generateImagesToGif(photos: [UIImage], filename: String) -> Bool {
        let documentsDirectoryPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]
        let path = documentsDirectoryPath.appending(filename)
        let fileProperties = [kCGImagePropertyGIFDictionary as String: [kCGImagePropertyGIFLoopCount as String: 0]]
        let gifProperties = [kCGImagePropertyGIFDictionary as String: [kCGImagePropertyGIFDelayTime as String: 0.5]]
        let cfURL = URL(fileURLWithPath: path) as CFURL
        if let destination = CGImageDestinationCreateWithURL(cfURL, kUTTypeGIF, photos.count, nil) {
            CGImageDestinationSetProperties(destination, fileProperties as CFDictionary?)
            for photo in photos {
                CGImageDestinationAddImage(destination, photo.cgImage!, gifProperties as CFDictionary?)
            }
            return CGImageDestinationFinalize(destination)
        }
        return false
    }

But I've found an unexpected effect to GIF.
Here is my problem (https://drive.google.com/file/d/1bFnddM8CICjFkTKRbF8veDxF5R0lXSlV/view?usp=sharing)
What's my mistake with this code? How to avoid any kind of effect? even I added original images to create GIF without resizing. But this effect always found. How to solve?
Here is the unexpected problem I added

0 Answers
Related