добавить/передать (exif) миниатюру в CGImageDestinationRef

На CGImageDestinationRef Ссылка Apple упоминает, что Он может содержать уменьшенные изображения, а также свойства для каждого изображения. Часть со свойствами работает хорошо, путем установки параметра properties при добавлении изображения в CGImageDestinationRef, но я не могу понять, как добавить миниатюру.

Я хочу добавить миниатюру (или передать ее непосредственно из CGImageSourceRef) в CGImageDestinationRef, чтобы при открытии полученного изображения с помощью CGImageSourceRef я мог использовать CGImageSourceCreateThumbnailAtIndex для получения исходной миниатюры.

NSDictionary* thumbOpts = [NSDictionary dictionaryWithObjectsAndKeys:
                                       (id)kCFBooleanTrue, (id)kCGImageSourceCreateThumbnailWithTransform,
                                       (id)kCFBooleanFalse, (id)kCGImageSourceCreateThumbnailFromImageIfAbsent,
                                       [NSNumber numberWithInt:128], (id)kCGImageSourceThumbnailMaxPixelSize, 
                                       nil];
CGImageRef thumb = CGImageSourceCreateThumbnailAtIndex(iSource, 0, (CFDictionaryRef)thumbOpts);

Приведенный выше код возвращает миниатюру изображения, в котором она сохранена, но когда я передаю изображение через CGImageDestinationRef, миниатюра теряется.

Есть ли какой-то способ сохранить исходную миниатюру (или создать новую)? CGImageProperties Reference, похоже, не имеет ключей, где хранить миниатюру.

6
задан alex-i 6 January 2012 в 11:59
поделиться