Обзор захвата изображения

Начиная с Mac OS 10.6, можно использовать ImageKit и ImageCaptureCore платформа, чтобы найти и управлять устройствами захвата изображения (камеры, сканеры и многофункциональные устройства, такие как камера/телефоны и принтер/сканеры).

Можно открыть браузер, динамично обнаруживающий все камеры и сканеры, присоединенные USB или доступные по сети. Можно ограничить браузер отображением только камер, только сканеров, только локальных, или только сетевых устройств или любой комбинации их. Вы можете выбрать любое доступное устройство с помощью браузера и можете открыть сеанс с выбранным устройством, чтобы перечислить и выбрать миниатюры, изображения, видео и другие файлы от камер, или управлять процессом сканирования сканеров.

ImageKit обеспечивает полный UI для этих задач, позволяя Вам создать приложения, находящие и управляющие камерами и сканерами полностью путем перетаскивания Разработчика Интерфейса использования объектов.

ImageCaptureCore обеспечивает те же возможности с помощью программируемого интерфейса, позволяя Вам записать бездисплейные приложения или обеспечить Ваш собственный UI. ImageCaptureCore также включает некоторые средства управления, не доступные от ImageKit, такой как выбор приложения по умолчанию для запуска, когда подключается камера.

Можно использовать обоих ImageKit и ImageCaptureCore в том же приложении. Например, Вы могли использовать ImageKit обеспечить основной интерфейс и добавить дополнительное использование пользовательских элементов управления ImageCaptureCore.

Создать ImageKit приложение, соедините свой проект XCode с Кварцевой платформой. Для ImageCaptureCore, соединитесь с QuartzFoundation. При использовании обоих добавьте обе платформы.

ImageKit

ImageKit обеспечивает четыре класса захвата изображения:

Эти четыре класса доступны, поскольку перетаскивание возражает в ImageKit библиотека для Интерфейсного Разработчика, таким образом, возможно создать приложение, просматривающее для и управляющее камерами и сканерами буквально, не пишущий строку кода. Для примера посмотрите Создание Приложения Используя ImageKit.

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

ImageCaptureCore

ImageCaptureCore платформа содержит классы, позволяющие Вам просматривать для устройств захвата изображения и управлять ими программно. Эти классы строго походят ImageKit классы, но они не обеспечивают UI. Вместо этого у них есть методы, для которых Вы создаете делегатов, позволяя Вам принять безотносительно мер, которые Вы выбираете в ответ на события, на которые отвечают эти объекты.

Например, ImageCaptureCore содержит класс браузера устройства, ICDeviceBrowser. Это выполняет те же функции как ImageKit’s IKDeviceBrowserView— это динамично обнаруживает доступные устройства захвата изображения. Но вместо того, чтобы вывести на экран список устройств, это имеет методы такой как didAddDevice и didRemoveDevice когда браузер устройства обнаруживает устройство или видит демонтированное устройство, чьих делегатов вызывают.

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

Точно так же ImageCaptureCore содержит класс устройства камеры и класс устройства сканера, аналогичный ImageKit’s представление камеры и представление сканера.

Весь ImageCaptureCore классы поддерживают привязку Какао, таким образом, можно, например, использовать Интерфейсного Разработчика для присвоения собственного представления как делегат к ImageCaptureCore объект браузера устройства, устраняя потребность создать весь UI программно.

Вы можете смешивание и подгонка ImageKit и ImageCaptureCore объекты в Вашем коде. Например, Вы могли бы использовать браузер устройства ImageKit, чтобы позволить пользователям находить и выбирать сканер, но использовать Ваш собственный UI для управления использованием сканера ImageCaptureCore.

Можно записать ImageCaptureCore приложение во всего нескольких дюжинах строк кода. Для примера посмотрите Создание Приложения Используя ImageCaptureCore.