Запись изображения в файл в приложении какао - PullRequest
4 голосов
/ 27 октября 2009

У меня есть приложение для редактирования графики с какао на Mac OSX, которое выдает растровые изображения размером 32 на 32, мне нужно программно (я вообще не могу использовать интерфейсный конструктор) вывести это изображение в формат .jpg или .png. Может кто-нибудь связать меня с некоторыми хорошими ресурсами о том, как я мог бы выполнить эту задачу?

Ответы [ 4 ]

3 голосов
/ 27 октября 2009

Если вы получаете NSBitmapImageRep из изображения, это может производить PNG и JPEG. Смотри representationUsingType:properties:

2 голосов
/ 27 октября 2009

Имеющий UIImage вызываемый образ:

NSData *imageData = UIImageJPEGRepresentation(image, 1.0);
NSString *tmpPathToFile = [[NSString alloc] initWithString:[NSString stringWithFormat:@"%@/tempImage.jpg", tempPath]];
[imageData writeToFile:tmpPathToFile atomically:YES];
2 голосов
/ 27 октября 2009

Я знаю, что вы сказали jpeg или png, но вы можете использовать NSImage TIFFRepresentation метод. Возвращает экземпляр NSData. Делая что-то вроде

[[yourImageInstance TIFFRepresentation] writeToFile:@"/path/to/file.tiff" atomically:NO];

записал бы это изображение TIFF в файл. Я не думаю, что NSImage имеет какой-либо встроенный способ получения данных в формате PNG или JPEG.

Редактировать

Сделал быстрый Google и нашел эту ссылку с информацией о сохранении данных PNG вместо данных TIFF. Кажется довольно простым.

0 голосов
/ 28 октября 2009

Использование PhotoshopFramework для iPhone (https://sourceforge.net/projects/photoshopframew/).. Есть очень удобные методы для сохранения изображений на диск:

/// Save as JPG File with High Quality.
-(BOOL)saveAsJPGFile:(NSString*)anFileName;

/// Save as JPG File with User Defined Quality.
-(BOOL)saveAsJPGFile:(NSString*)anFileName compressionQuality:(CGFloat)quality;

/// Save as PNG File.
-(BOOL)saveAsPNGFile:(NSString*)anFileName;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...