//gif的合成
-(void)makeGif
{
//获取图片
NSMutableArray * imgArray =[NSMutableArray new];
for (int m=0; m<11; m++) {
NSString * savePath =[NSHomeDirectory() stringByAppendingFormat:@"/Documents/%d.png",m];
UIImage * img =[UIImage imageWithData:[NSData dataWithContentsOfFile:savePath]];
[imgArray addObject:img];
}
//创建文件夹
NSFileManager * manager =[NSFileManager defaultManager];
NSString * text =[NSHomeDirectory() stringByAppendingString:@"/gif"];
[manager createDirectoryAtPath:text withIntermediateDirectories:YES attributes:NULL error:nil];
NSString * gifpath =[text stringByAppendingString:@"/ooo.gif"];
//配置gif属性
CGImageDestinationRef destion;
CFURLRef url =CFURLCreateWithFileSystemPath(kCFAllocatorDefault, (CFStringRef)gifpath, kCFURLPOSIXPathStyle, false);
destion =CGImageDestinationCreateWithURL(url, kUTTypeGIF, 11, NULL);
NSDictionary * frameDic =[NSDictionary dictionaryWithObject:[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithFloat:0.3],kCGImagePropertyGIFDelayTime, nil] forKey:(NSString *)kCGImagePropertyGIFDelayTime];
NSMutableDictionary * gifParmdict =[NSMutableDictionary dictionaryWithCapacity:2];
[gifParmdict setObject:[NSNumber numberWithBool:YES] forKey:(NSString *)kCGImagePropertyGIFHasGlobalColorMap];
[gifParmdict setObject:(NSString *)kCGImagePropertyColorModelRGB forKey:(NSString *)kCGImagePropertyColorModelRGB];
[gifParmdict setObject:[NSNumber numberWithInt:8] forKey:(NSString *)kCGImagePropertyDepth];
[gifParmdict setObject:[NSNumber numberWithInt:0] forKey:(NSString *)kCGImagePropertyGIFLoopCount];
NSDictionary * gifProperty =[NSDictionary dictionaryWithObject:gifParmdict forKey:(NSString *)kCGImagePropertyGIFDictionary];
//合成gif
for (int m=0; m<11; m++) {
UIImage * dimage =[imgArray objectAtIndex:m];
CGImageDestinationAddImage(destion, dimage.CGImage, (__bridge CFDictionaryRef)frameDic);
}
CGImageDestinationSetProperties(destion, (__bridge CFDictionaryRef)gifProperty);
CGImageDestinationFinalize(destion);
}
gif图片的合成
最新推荐文章于 2024-04-06 20:49:41 发布