Хобрук: Ваш путь к мастерству в программировании

Как получить рамку обрезки данных изображения адресной книги?

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

10.07.2010

Ответы:


1

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

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

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

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

kABPersonImageFormatThumbnail
kABPersonImageFormatOriginalSize

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

07.10.2010

2

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

30.07.2010

3

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

27.08.2010
  • Фреймворки - это не приложения. Песочница в основном основана на процессах / UID. Однако оказывается, что /var/mobile/Library/AddressBook/AddressBookImages.sqlitedb доступен для чтения, поэтому должна быть возможность получить прямоугольник кадрирования, даже если он может считаться частным. 30.08.2010
  • Если бы можно было запросить базу данных sqlite, то можно было бы решить очень многое. Что-то вроде настраиваемых меток, проблема с прямоугольником кадрирования и проблема с хранилищем (ABStore) до iOS SDK 4.0 и т. Д. Мой партнер пытался и сказал, что он не может выполнять команды в базе данных sqlite, управляемой структурой адресной книги. Может, ты попробуешь еще раз. 31.08.2010
  • Новые материалы

    Основы принципов S.O.L.I.D, Javascript, Git и NoSQL
    каковы принципы S.O.L.I.D? Принципы SOLID призваны помочь разработчикам создавать надежные, удобные в сопровождении приложения. мы видим пять ключевых принципов. Принципы SOLID были разработаны..

    Как настроить Selenium в проекте Angular
    Угловой | Селен Как настроить Selenium в проекте Angular Держите свое приложение Angular и тесты Selenium в одной рабочей области и запускайте их с помощью Mocha. В этой статье мы..

    Аргументы прогрессивного улучшения почти всегда упускают суть
    В наши дни в кругах веб-разработчиков много болтают о Progressive Enhancement — PE, но на самом деле почти все аргументы с обеих сторон упускают самую фундаментальную причину, по которой PE..

    Введение в Джанго Фреймворк
    Схема «работать умно, а не усердно» В этой и последующих статьях я познакомлю вас с тем, что такое фреймворк Django и как создать свое первое приложение с помощью простых и понятных шагов, а..

    Настольный ПК как «одно кольцо, чтобы править всеми» домашних компьютеров
    Вид после 9 месяцев использования С настольных компьютеров все началось, но в какой-то момент они стали «серверами», и мы все перешли на ноутбуки. В прошлом году я столкнулся с идеей настольных..

    Расширенные методы безопасности для VueJS: реализация аутентификации без пароля
    Руководство, которое поможет вам создавать безопасные приложения в долгосрочной перспективе Безопасность приложений часто упускается из виду в процессе разработки, потому что основная..

    стройный-i18следующий
    Представляем стройную оболочку для i18next. Эта библиотека, основанная на i18next, заключает экземпляр i18next в хранилище svelte и отслеживает события i18next, такие как languageChanged,..