Для чего-то подобного API изображений Apple не будет достаточным для того, что вам нужно.Однако есть несколько сторонних API, которые должны работать с iPhone. Libraw - хороший, который я нашел, с интерфейсом C.Поскольку Objective-C является строгим надмножеством C, вы, вероятно, сможете использовать его в своем приложении для iOS.
Из того, что я вижу в их документах, вы могли бы написать CR2-изображение как TIFF, а затем декодировать его как UIImage, например:
NSString * cr2Path = @"path/to/cr2/file";
NSString * tiffPath = [NSTemporaryDirectory stringByAppendingPathComponent:@"x.tiff"];
libraw_data_t * cr2Data = libraw_init(0);
libraw_open_file(cr2Data, [cr2Path UTF8String]);
libraw_unpack(cr2Data);
// setup encoding params
cr2Data->params.output_tiff = 1;
cr2Data->params.use_camera_wb = 1;
// encode and write as tiff
libraw_dcraw_process(cr2Data);
libraw_dcraw_ppm_tiff_writer(cr2Data, [tiffPath UTF8String]);
libraw_recycle(cr2Data); // free the memory
// load the UIImage
UIImage * myImage = [[UIImage alloc] initWithContentsOfFile:tiffPath];
// use myImage here ...
[myImage release];
Из того, что я виделпохоже, вы сможете скачать его здесь и затем добавить файлы src из каталогов src/
, libraw/
, dcraw/
и internal/
в ваш проект Xcode.Надеюсь, вы не столкнетесь с какими-либо странными проблемами компоновки / компиляции.