Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Convert Gif image to NSData

Tags:

ios

nsdata

gif

I have a gif image in my photo album. When I use the UIImagePickerController to select that image, I need to convert the image to NSData for storing.

Earlier, I used

NSData *thumbData = UIImageJPEGRepresentation(thumbnail, 0.5);

but it will not work with gif images. thumbData will be nil.

  1. How can I get NSData from the gif image?

  2. How can I know that it is a gif image that needs special handing?

like image 910
wjh Avatar asked May 25 '13 09:05

wjh


1 Answers

The key here is to save the GIF file or URL download directly into a NSData instead of making it a UIImage. Bypassing UIImage will let the GIF file keep the animation.

Here is some code to convert a GIF file into NSData:

NSString *filePath = [[NSBundle mainBundle] pathForResource: @"gifFileName" ofType: @"gif"];

NSData *gifData = [NSData dataWithContentsOfFile: filePath];

But in all honesty, you should really consider not using GIF at all.

like image 80
sangony Avatar answered Sep 18 '22 15:09

sangony