Как получить рамку обрезки данных изображения адресной книги? - PullRequest
9 голосов
/ 10 июля 2010

Платформа AddressBook предоставляет ABPersonCopyImageData для получения изображения контакта для каждой записи адресной книги. Это отлично подходит для данных изображения, но пользователь также выбирает размеры и кадрирует изображение в целях кадрирования. Когда я получаю данные изображения, я получаю полное изображение, а не обрезанное изображение. Как получить кадр, который пользователь использовал для обрезки изображения (или вместо этого, как мне получить доступ к обрезанному изображению / данным)?

Ответы [ 3 ]

6 голосов
/ 07 октября 2010

iOS 4.1 добавляет новый метод: ABPersonCopyImageDataWithFormat в ABPerson.

Я использую это так:

NSData *imageData = [(NSData *)ABPersonCopyImageDataWithFormat(recordRef, kABPersonImageFormatThumbnail) autorelease];

Допустимые форматы:

kABPersonImageFormatThumbnail
kABPersonImageFormatOriginalSize

Это позволяет получить исходное изображение или обрезанное изображение (эскиз).

1 голос
/ 30 июля 2010

В некоторой степени это ошибка в iOS4.Ранее API адресной книги возвращал обрезанные данные, а в iOS4 он возвращает данные всего изображения.Некоторые люди хотят одного, некоторые хотят другого.Я склонен думать, что все данные изображения бесполезны без рамки обрезки, так что, надеюсь, это будет исправлено ...

0 голосов
/ 27 августа 2010

Я думаю, что невозможно получить прямоугольник обрезки. Прямоугольная информация обрезки хранится в базе данных sqlite, которая управляется структурой адресной книги. Но клиентское приложение не может прочитать базу данных sqlite другого приложения в соответствии со структурой песочницы.

...