Unable to get Gif image frame count when you get NSData Gif Image extracted from iPhone
I am extracting a Gif image from a device and want to convert it to NSData so that I can extract Gif frames.
Now I am doing:
CGDataProviderRef provider = CGImageGetDataProvider(largeImage.CGImage);
NSData* gifOriginalImageData = CFBridgingRelease(CGDataProviderCopyData(provider));
CGImageSourceRef src = CGImageSourceCreateWithDataProvider(provider, NULL);
size_t size = CGImageSourceGetCount(src);
or
CGImageSourceRef src = CGImageSourceCreateWithData((CFDataRef)gifOriginalImageData, NULL);
size_t size = CGImageSourceGetCount(src);
But here the "size" (the number of Gif frames) comes 0 in each case. Why?
While I load the same Gif image from the package
NSURL *url = [[NSBundle mainBundle] URLForResource:@"crad" withExtension:@"gif"];
NSData* gifOriginalImageData = [NSData dataWithContentsOfURL:url];
CGImageSourceRef src = CGImageSourceCreateWithData((CFDataRef)gifOriginalImageData, NULL);
size_t size = CGImageSourceGetCount(src);
It gives the actual "size" (number of frames of Gif)
source
share