iOS gif制作

Posted Ven519

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS gif制作相关的知识,希望对你有一定的参考价值。

1、创建图像目标

[objc]  view plain  copy
  1. CGImageDestinationRef destination;  

2、创建输出路径(保存的路径)

[objc]  view plain  copy
  1. /* 
  2.      path 
  3. */  

3、创建CFURLRef对象

[objc]  view plain  copy
  1. CFURLRef url = CFURLCreateWithFileSystemPath(kCFAllocatorDefault, (CFStringRef)path, kCFURLPOSIXPathStyle, NO);  

4、通过一个url返回图像目标

[objc]  view plain  copy
  1. destination = CGImageDestinationCreateWithURL(url, kUTTypeGIF, mArray.count, nil);  

5、设置gif的信息,播放时隔事件,基本数据和delay事件

[objc]  view plain  copy
  1. NSDictionary *frameProperties = [NSDictionary dictionaryWithObject:[NSMutableDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithFloat:0.18],(NSString *)kCGImagePropertyGIFDelayTime, nil nil] forKey:(NSString *)kCGImagePropertyGIFDictionary];  
  2.   
  3. //设置gif信息  
  4. NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithCapacity:2];  
  5.   
  6. [dict setObject:[NSNumber numberWithBool:YES] forKey:(NSString *)kCGImagePropertyGIFImageColorMap];  
  7.   
  8. [dict setObject:(NSString *)kCGImagePropertyColorModelRGB forKey:(NSString *)kCGImagePropertyColorModel];  
  9.   
  10. [dict setObject:[NSNumber numberWithInt:8] forKey:(NSString *)kCGImagePropertyDepth];  
  11.   
  12. [dict setObject:[NSNumber numberWithInt:0] forKey:(NSString *)kCGImagePropertyGIFLoopCount];  
  13.   
  14. NSDictionary *gifProperties = [NSDictionary dictionaryWithObject:dict forKey:(NSString *)kCGImagePropertyGIFDictionary];  
6、合成gif(把所有图片遍历添加到图像目标)

[objc]  view plain  copy
  1. for (UIImage *dImg in mArray)  
  2.     
  3.          CGImageDestinationAddImage(destination, dImg.CGImage, (__bridge CFDictionaryRef)frameProperties);  
  4.     

7、给gif添加信息

[objc]  view plain  copy
  1. CGImageDestinationSetProperties(destination, (__bridge CFDictionaryRef)gifProperties);  

8、写入gif图

[objc]  view plain  copy
  1. CGImageDestinationFinalize(destination);  
9、释放目标图像

[objc]  view plain  copy
  1. CFRelease(destination);  


以上是关于iOS gif制作的主要内容,如果未能解决你的问题,请参考以下文章

iOS gif制作

iOS gif制作

iOS 一键制作 GIF 图,妙呀~

iOS用Sketch制作APP下拉刷新的GIF动画

怎么制作动图gif

MATLAB制作GIF动画