gif图片的合成

来源:互联网 发布:软件项目阶段划分 编辑:程序博客网 时间:2024/05/17 00:51
//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);}

0 0
原创粉丝点击