Как ABPersonViewController обрабатывает данные о фотографиях?

Через ABPersonViewController мы можем редактировать фото контакта. Тогда как мы можем получить доступ к информации о фотографии другим способом? Однако мы получили данные изображения ABPerson как большое исходное изображение, но не данные фотографии клипа, как показывает ABPersonViewController. Тогда что нам делать? ABPersonCopyImageData, следующий?


person pcjbird    schedule 19.07.2010    source источник
comment
возможный дубликат Как мне получить рамку обрезки данных изображения адресной книги?   -  person tc.    schedule 24.08.2010


Ответы (1)


+[UIImage imageWithData:]

Чтобы масштабировать изображение, что-то вроде

UIGraphicsBeginImageContextWithOptions(size, YES, 0);
[[UIImage imageWithData:data] drawInRect:(CGRect){{0,0},size}];
UIImage * scaledImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

(предполагается, что size - это количество «баллов» для поддержки iPhone 4)

person tc.    schedule 19.07.2010
comment
ну, [UIImage imageWithData:] получил исходный размер фотографии, но не размер фотографии. В чем дело, из-за ios4? - person pcjbird; 20.07.2010
comment
Может быть, есть изменения с ios3 на ios4. На ios3 или ранее мы можем получить доступ к вырезанной фотографии, однако, начиная с ios4, мы не можем. - person pcjbird; 05.08.2010
comment
Вы имеете в виду, что изображение не масштабируется или не кадрируется? Между ними есть большая разница. - person tc.; 06.08.2010
comment
Я имею в виду не обрезанный. Системное средство выбора изображений может получить информацию об кадрировании, однако, начиная с os4, мы не можем получить доступ к уменьшенному обрезанному фотоизображению контакта. - person pcjbird; 07.08.2010
comment
Извините, теперь я понимаю, что вы имеете в виду. Ранее об этом спрашивали в stackoverflow.com/questions/3220187, к которому я добавил награду. - person tc.; 24.08.2010