2012-04-10 15 views

Trả lời

51

Ở đây chúng tôi đi.

Điều này sẽ lưu trữ UIImage vào thư mục tài liệu của bạn trong Ứng dụng iOS. Bạn sẽ không cần NSFileManager.

NSArray * paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString * basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil; 

UIImage * imageToSave = [UIImage imageNamed:@"Icon.png"]; 
NSData * binaryImageData = UIImagePNGRepresentation(imageToSave); 

[binaryImageData writeToFile:[basePath stringByAppendingPathComponent:@"myfile.png"] atomically:YES]; 

Edit: Nếu bạn lưu trữ hình ảnh hình Camera iOS, bạn có thể xem làm thế nào bạn có thể xoay hình ảnh với định hướng đúng đắn. Look here in that case.

+0

Cảm ơn nhưng khi tôi tải hình ảnh nó hiển thị cho tôi với định hướng sai. – user1234096

+0

@JonasSchnelli ... đó là lý do tại sao tôi đề xuất NSCoding. –

+1

@Matisse VerDuyn: được rồi. một cộng. Nhưng biến nó bằng "tay" không phải là khó. :) –

1

Để lưu tệp dưới dạng tệp, bạn sẽ cần đặt nó thành dạng plist hoặc tạo biểu diễn png/jpg của hình ảnh. Bạn có thể lưu dữ liệu UIImage dễ dàng hơn một chút với NSCoding.

Xem hướng dẫn này để biết thêm thông tin: http://www.raywenderlich.com/1914/how-to-save-your-app-data-with-nscoding-and-nsfilemanager

+1

Hmm ... tại sao lại sử dụng NSCoding? Được rồi: có thể khi bạn cố gắng lưu trữ cấu trúc đối tượng phức tạp với UIImages trong đó. Quá trình mã hóa cũng ăn bọ ve CPU. –

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