我试图在iOS中制作动画gif裁剪器。
我正在使用CGImageDestinationRef
。
这是我的代码:
NSURL *documentsDirectoryURL = [[NSFileManager defaultManager] URLForDirectory:NSDocumentDirectory inDomain:NSUserDomainMask appropriateForURL:nil create:YES error:nil];
NSURL *fileURL = [documentsDirectoryURL URLByAppendingPathComponent:@"animated.gif"];
CGImageDestinationRef destination = CGImageDestinationCreateWithURL((__bridge CFURLRef)fileURL, kUTTypeGIF, imageCount, NULL);
CGImageDestinationSetProperties(destination, (__bridge CFDictionaryRef)fileProperties);
for (size_t i = 0; i < imageCount; i++) {
CGImageDestinationAddImage(destination, frameImage.CGImage, (__bridge CFDictionaryRef)frameDestProperties);
}
if (!CGImageDestinationFinalize(destination)) {
NSLog(@"failed to finalize image destination");
}
CFRelease(destination);
这不是完整的代码,只是代码序列。
我的问题是它太慢了,因为它将GIF文件保存在磁盘上。
我只想使用NSData
在内存中制作GIF文件。
如何将gif图像设为NSData
?