На 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, похоже, не имеет ключей, где хранить миниатюру.