Cocoa 将GIF文件加载到CGImage中

Cocoa 将GIF文件加载到CGImage中,cocoa,macos,cgimage,Cocoa,Macos,Cgimage,显然,PNG和JPEG的创建函数对GIF文件都没有帮助, 如何将gif文件加载到CGImage中(且简单?)。对于Mac,最简单的方法是: NSData *data = [NSData dataWithContentsOfFile:@"mygif.gif"]; CGImageRef myCGImage = [[NSBitmapImageRep imageRepWithData: data] CGImage]; 以JG的回答为基础,供参考 获取文件“名称”的可靠方法是: NSString *fi

显然,PNG和JPEG的创建函数对GIF文件都没有帮助,
如何将gif文件加载到CGImage中(且简单?)。

对于Mac,最简单的方法是:

NSData *data = [NSData dataWithContentsOfFile:@"mygif.gif"];
CGImageRef myCGImage = [[NSBitmapImageRep imageRepWithData: data] CGImage];

以JG的回答为基础,供参考

获取文件“名称”的可靠方法是:

NSString *fileName = [[NSBundle mainBundle] pathForResource:@"imageName" ofType:@"jpg"];
然后继续使用JG的解决方案:

CGDataProviderRef dataProvider = CGDataProviderCreateWithFilename([fileName cStringUsingEncoding:NSUTF8StringEncoding]);
self.maskedImage = CGImageCreateWithJPEGDataProvider(dataProvider, NULL, NO, kCGRenderingIntentDefault);

您好,我使用的是Mac Cocoa,而不是Cocoa Touch,所以我没有UIImageData With Contents of file:方法不是只接收绝对文件路径吗?是和否。可以使用相对路径,但由于您很少在OS X或iOS上设置工作目录,因此在这种情况下,这就成了一个“相对于什么”的问题,这只是一个用于说明目的的占位符。