2013-05-25 11 views
7

Ich habe ein gif Bild in meinem Fotoalbum. Wenn ich das UIImagePickerController verwende, um das Bild auszuwählen, muss ich das Bild in NSData zum Speichern konvertieren.Convert Gif Bild zu NSData

Früher verwendete ich

NSData *thumbData = UIImageJPEGRepresentation(thumbnail, 0.5); 

aber es wird nicht mit GIF-Bilder funktionieren. thumbData wird null sein.

  1. Wie bekomme ich NSData aus dem GIF-Bild?

  2. Wie kann ich wissen, dass es sich um ein gif-Bild handelt, das eine spezielle Übergabe benötigt?

+0

Hast du auch UIImagePNGRepresentation (Thumbnail) verwenden; ? –

+0

werfen Sie einen Blick auf diese [link] (http://stackoverflow.com/a/6573869). Es kann hilfreich für Sie sein. – George

+0

Haben Sie Ihr Problem gelöst? –

Antwort

1

-Code GIF-Datei zu coverting in NSData umgewandelt -

NSString *pathForFile = [[NSBundle mainBundle] pathForResource: @"myGif" ofType: @"gif"]; 

NSData *dataOfGif = [NSData dataWithContentsOfFile: pathForFile]; 

NSLog(@"Data: %@", dataOfGif); 
8

Der Schlüssel hier ist die GIF-Datei oder URL-Download direkt in einen NSData anstatt es eine UIImage zu speichern. Das Umgehen von UIImage lässt die GIF-Datei die Animation beibehalten.

Hier ist ein Code eine GIF-Datei in NSData zu konvertieren:

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

NSData *gifData = [NSData dataWithContentsOfFile: filePath]; 

Aber ganz ehrlich, sollten Sie wirklich in Betracht ziehen nicht GIF überhaupt verwendet wird.