2013-05-25 44 views
7

Tôi có hình ảnh gif trong album ảnh của mình. Khi tôi sử dụng UIImagePickerController để chọn hình ảnh đó, tôi cần phải chuyển đổi hình ảnh thành NSData để lưu trữ.Chuyển đổi hình ảnh Gif thành NSData

Trước đó, tôi đã sử dụng

NSData *thumbData = UIImageJPEGRepresentation(thumbnail, 0.5); 

nhưng nó sẽ không làm việc với hình ảnh gif. thumbData sẽ là không.

  1. Làm cách nào để nhận được NSData từ hình ảnh gif?

  2. Làm cách nào tôi biết rằng đó là hình ảnh gif cần bàn giao đặc biệt?

+0

Did bạn cũng sử dụng UIImagePNGRepresentation (thumbnail); ? –

+0

xem [link] này (http://stackoverflow.com/a/6573869). Nó có thể hữu ích cho bạn. – George

+0

Đã giải quyết được sự cố của bạn? –

Trả lời

1

Mã để coverting tập tin .GIF có thể chuyển đổi trong NSData -

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

NSData *dataOfGif = [NSData dataWithContentsOfFile: pathForFile]; 

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

Mấu chốt ở đây là để lưu các tập tin GIF hoặc URL tải về trực tiếp vào một NSData thay vì làm cho nó một UIImage. Bỏ qua UIImage sẽ cho phép tệp GIF giữ hoạt ảnh.

Dưới đây là một số mã để chuyển đổi một tập tin GIF vào NSData:

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

NSData *gifData = [NSData dataWithContentsOfFile: filePath]; 

Nhưng trong tất cả sự trung thực, bạn thực sự nên xem xét không sử dụng GIF ở tất cả.

Các vấn đề liên quan