Основы Использования набора изображения

Поскольку потребители накапливают все больше цифровых сред, приложения изображения сталкиваются с обработкой больших объемов данных эффективным способом. Потребители не только хотят открыть, просмотреть, и организовать изображения, но они часто должны обрезать изображения, корректировать яркость, применять эффекты, метаданные представления, или выполнять много других операций редактирования изображение. Платформа Имэджа Кита является пакетом служб обработки изображения, поддерживающим эти задачи и больше. Это разработано для работы эффективно при обеспечении пользовательского интерфейса стилем OS X. При помощи Имэджа Кита для выполнения задач обработки изображения, в которых нужно большинство приложений цифровых сред Вы будете в состоянии фокусировать свои усилия по записи кода на частях Вашего приложения, отличающих его от других приложений.

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

Задачи, поддерживаемые набором изображения

Набор Изображения является высокоуровневой платформой Objective C. Это основано на многих других технологиях графики OS X, включая Кварц 2D, Базовое Изображение, Базовая Анимация и OpenGL. При использовании Набора Изображения можно считать любые данные изображения, которые поддерживает 2D Кварц и Изображение платформы I/O.

Существует восемь главных категорий задач, которые поддерживает Имэдж Кит, самый основной из которых должен просмотреть изображение. Таблица 1-1 суммирует задачи, которые Вы можете поддерживать с Имэджем Китом и перечисляете классы и протоколы, которые Вы используете для каждой задачи. Как NSImageView класс, IKImageView класс выводит на экран единственное изображение в кадре и дополнительно может позволить пользователю перетаскивать изображение к представлению. В отличие от этого NSImageView класс, IKImageView класс поддерживает любой формат файла образа тот Кварц поддержки.

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

IKImageEditPanel класс позволяет пользователям просматривать метаданные изображения и корректировать цифровые изображения:

IKImageView класс имеет встроенную поддержку панели Image Edit (IKImageEditPanel класс). После установки надлежащей настройки в Вашем приложении пользователь просто нажимает на изображение, и панель Image Edit открывается. Никакое другое действие не необходимо с Вашей стороны. Панель редактирования изображение может использоваться независимо от IKImageView класс путем выполнения надлежащей установки работает и реализации IKImageEditPanelDataSource протокол.

Набор Изображения обеспечивает IKImageBrowserView класс для отображения и расположения отображает в сетке в пути, подобном сетке, которую Вы видите в iPhoto. Браузер изображения может вывести на экран большие количества изображений, значков, фильмов, Кварцевых составов Композитора и документов в формате PDF. Пользователи могут перетащить изображения к браузеру, выбрать изображения и переместить их. Когда изображения перемещены в браузер, Набор Изображения достигает плавной анимации.

Опции для того, чтобы сохранить образ варьируются в зависимости от формата файла изображения. По этой причине Набор Изображения обеспечивает IKSaveOptions класс. Сохраните опции, появляются как вспомогательное представление (область) в NSSavePanel объект.

Слайд-шоу является популярным способом для потребителей просмотреть цифровые изображения. IKSlideshow класс и IKSlideshowDataSource протокол обеспечивает простой способ к Вашему приложению для поддержки слайд-шоу с изображениями, документами в формате PDF и другими данными изображения. Можно запустить, приостановить, и остановить слайд-шоу, слайд-шоу экспорта, получить доступ к конкретному изделию на шоу и выполнить много других задач.

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

IKFilterBrowserView и IKFilterBrowserPanel классы обеспечивают пользовательский интерфейс для просмотра Базовых фильтров обработки изображений Изображения и предварительного просмотра их эффектов.

IKFilterUIView класс обеспечивает пользовательский интерфейс для Базовых фильтров Изображения, упрощающих для Вас поддерживать обработку изображений больше чем со ста фильтрами, предоставленными системой. Можно выбрать, какие параметры доступны установленному и размеру средств управления. Если Вы хотите предоставить настроенный пользовательский интерфейс для фильтра, который Вы пишете, можно использовать IKFilterCustomUIProvider класс.

Табличные 1-1  Задачи и классы, поддерживающие их

Задача

Классы и протоколы

Представление и изображения редактирования

IKImageView

Скорректируйте изображения, примените цветовые эффекты, просмотрите метаданные

Используйте IKImageEditPanel и IKImageEditPanelDataSource классы только, когда Вы не используете IKImageView класс, имеющий встроенную поддержку панели Image Edit.

Дисплей и большие количества расположения изображений

IKImageBrowserView, IKImageBrowserDataSource, IKImageBrowserDelegate, и IKImageBrowserItem

Выполненные слайд-шоу

IKSlideshow и IKSlideshowDataSource Protocol

Выберите изображение размера значка из каталога или возьмите снимок с iSight или другим цифровым фотоаппаратом

IKPictureTaker

Сохраните образы во множестве форматов файлов с опциями, подходящими для формата

IKSaveOptions

Фильтры Изображения Ядра обзора и предварительный просмотр их эффекты

IKFilterBrowserView и IKFilterBrowserPanel

Просмотрите и скорректируйте входные параметры Базового фильтра Изображения

IKFilterUIView и IKFilterCustomUIProvider

Используя набор изображения в XCode

Для использования платформы Имэджа Кита в XCode необходимо импортировать Кварцевые и Кварцевые платформы Ядра. Кварцевая платформа содержит Имэджа Кита. Кварцевая платформа Ядра содержит классы Кора Имэджа, необходимые IKFilterBrowserPanel и IKFilterBrowserView классы.

Импортировать эти платформы в XCode:

  1. Откройте Xcode и создайте приложение Какао.

  2. Выберите Project> Add to Project.

    Add to Project menu
  3. Перейдите к System/Library/Frameworks, выберите Quartz.framework и QuartzCore.framework, и нажмите Add.

    Add the Quartz and Quartz Core frameworksAdd the Quartz and Quartz Core frameworks
  4. В листе, появляющемся, нажмите Add.

  5. Сохраните проект.

  6. После импорта платформ удостоверьтесь, что Вы добавляете #import <Quartz/Quartz.h> в надлежащие файлы.

Используя набор изображения с интерфейсным разработчиком 3.0

Примеры в этом документе используют Интерфейсного Разработчика 3.0. Если Вы никогда не использовали Интерфейсного Разработчика прежде, можно хотеть пропустить этот раздел и вместо этого считать первую главу Интерфейсного Руководства пользователя Разработчика. При использовании предыдущих версий Интерфейсного Разработчика Вы заметите некоторые существенные изменения. Этот раздел указывает на несколько изменений, с которыми Вы встретитесь при следовании инструкциям в этом документе для создавания приложений то использование классы Имэджа Кита.

Из-за новой интеграции между Xcode 3.0 и Интерфейсным Разработчиком 3.0, действия и выходы, которые Вы объявляете в интерфейсном файле для класса, синхронно обновляются в Интерфейсном Разработчике. Когда Вы начнете делать соединения, это станет очевидным для Вас. Когда Вы перетаскиваете от контроллера в окне документа пера к представлению или другому элементу пользовательского интерфейса, панель соединений появляется. Панель соединений является инструментом, позволяющим Вам исследовать и создать соединения между объектами. Рисунок 1-1 показывает панель соединений для окна, имеющего переменную экземпляра mwindow как выход. Этот пример прост; некоторые объекты имеют несколько выходов, а также полученных и отправленных действий, связанных с ним. Для полного описания панели соединений см. Интерфейсное Руководство пользователя Разработчика.

Рисунок 1-1  выход для окна, показанного в панели соединений
An outlet for a window, shown in a heads-up display

Библиотека Interface Builder (показанный на рисунке 1-2) заменяет палитру. Библиотека содержит объекты и ресурсы, которые можно использовать в файле пера. Можно просмотреть объекты в библиотеке плагином — Какао, IB, и т.д. — или использовать поле поиска для нахождения объекта. Можно также создать пользовательские группы, и умные группы для организации возражает способу, которым Вы хотите.

  Библиотека Figure 1-2 The Interface Builder
The Interface Builder library

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

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

  Автокалибровка рисунка 1-3 в Интерфейсном инспекторе размера Разработчика
Autosizing in the Interface Builder size inspector

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

Терминология для пользователей

Стандартная терминология помогает пользователям подойти к скорости быстро с помощью приложения. Знакомая терминология не мешает изучению всех впечатляющих функций, которые Вы помещаете в свое приложение. Набор Изображения представляет много новых классов и протоколов, названных использованием терминов, знакомых разработчикам. При обеспечении меток в пользовательском интерфейсе для приложения запишите теги справки или обеспечьте документацию, пользователи будут лучше всего обслуживаться, если Вы примете стандартную пользовательскую терминологию, а не терминологию разработчика. Таблица 1-2 обеспечивает пользовательские условия для наиболее распространенных терминов разработчика, использованных в Наборе Изображения. Можно узнать больше информации об обеспечении пользователей с непротиворечивым визуальным и поведенческим опытом путем чтения Инструкций по Интерфейсу пользователя OS X.

Табличный 1-2  Разработчик и пользователь называют для Набора Изображения

Срок разработчика

Пользовательский срок

вспомогательный представление

область

представление браузера изображения

браузер изображения

Панель Image Edit

Отобразите Окно редактирования

Открытая панель

Открытое диалоговое окно

панель берущего изображения

берущий изображения

Панель Save As

Сохраните Как диалоговое окно