iOS поддерживает формат Canon RAW? - PullRequest
0 голосов
/ 25 сентября 2011

Я знаю, что iPad может читать файлы Canon RAW (.CR2) при использовании с Camera Kit, но доступно ли какое-либо чтение из этого формата файла разработчику iOS?Или мы просто ограничены вещами, поддерживаемыми в документе UIImage Class Reference?

(https://developer.apple.com/documentation/uikit/uiimage)

1 Ответ

1 голос
/ 25 сентября 2011

Для чего-то подобного 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.Надеюсь, вы не столкнетесь с какими-либо странными проблемами компоновки / компиляции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...