Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека Разработчика iOS

Разработчик

Фото ссылка платформы ссылка класса PHContentEditingOutput

Опции
Развертывание Target:

На этой странице
Язык:

PHContentEditingOutput

Наследование


Соответствует


Оператор импорта


Swift

import Photos

Objective C

@import Photos;

Доступность


Доступный в iOS 8.0 и позже.

A PHContentEditingOutput объект представляет результаты редактирования фотографии или видеоконтента фото актива.

Отредактировать фотографию актива или видеоконтент:

  1. Выборка a PHAsset объект, представляющий фотографию или видео, которое будет отредактировано.

  2. Вызовите актив requestContentEditingInputWithOptions:completionHandler: метод для получения a PHContentEditingInput объект. Этот объект предоставляет информацию об активе, данные актива, которые будут отредактированы, и изображение предварительного просмотра для дисплея.

  3. Примените свои редактирования к активу. Позволить пользователю продолжать работать с редактированием позже (например, для корректировки параметров фото фильтра), создают a PHAdjustmentData объект, описывающий изменения.

  4. Инициализируйте a PHContentEditingOutput объект с PHContentEditingInput возразите, что Вы получили. Предоставьте отредактированному содержанию renderedContentURL свойство, и предоставляет данные корректировки с adjustmentData свойство.

  5. Используйте фото блок изменения библиотеки для фиксации редактирования. (Для получения дополнительной информации посмотрите Ссылку класса PHPhotoLibrary.) В блоке, создайте a PHAssetChangeRequest объект и набор contentEditingOutput свойство к редактированию вывело Вас создаваемый.

    Каждый PHPhotoLibraryperformChanges вызовите propmpts пользователь для разрешения отредактировать содержание фото библиотеки — чтобы отредактировать многократные активы в одном пакете, создать многократный PHAssetChangeRequest объекты в том же блоке изменения, каждом с его собственным соответствием PHContentEditingOutput объект.

Можно также отредактировать активы из фотографии, редактируя расширения. В этом случае, вместо того, чтобы работать с a PHAsset объект, Вы реализуете методы в PHContentEditingController протокол. Фотографии обеспечивают a PHContentEditingInput возразите, когда Ваше расширение начнет редактировать. Когда редактирование завершено, фотографии запрашивает a PHContentEditingOutput объект, содержащий отредактированное содержание актива.

  • Создает вывод редактирования из указанного ввода редактирования.

    Объявление

    Swift

    init!(contentEditingInput contentEditingInput: PHContentEditingInput!)

    Objective C

    - (instancetype)initWithContentEditingInput:(PHContentEditingInput *)contentEditingInput

    Параметры

    contentEditingInput

    Информация предоставляющего объекта об активе, который будет отредактирован.

    Возвращаемое значение

    Выводится инициализированное довольное редактирование.

    Обсуждение

    Для завершения редактирования используйте renderedContentURL свойство для обеспечения отредактированного содержания актива. Затем используйте PHAssetChangeRequest класс или PHContentEditingController протокол для передачи редактирования хранению.

    Оператор импорта

    Objective C

    @import Photos;

    Swift

    import Photos

    Доступность

    Доступный в iOS 8.0 и позже.

  • Создает вывод редактирования для использования в добавлении нового актива к фото библиотеке.

    Объявление

    Swift

    init!(placeholderForCreatedAsset placeholderForCreatedAsset: PHObjectPlaceholder!)

    Objective C

    - (instancetype)initWithPlaceholderForCreatedAsset:(PHObjectPlaceholder *)placeholderForCreatedAsset

    Параметры

    placeholderForCreatedAsset

    Объект местозаполнителя, связывающий вывод редактирования с a PHAssetChangeRequest объект для создания нового актива.

    Возвращаемое значение

    Выводится инициализированное довольное редактирование.

    Обсуждение

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

    • [[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{
    • // Make a change request for adding an asset.
    • PHAssetChangeRequest *changeRequest =
    • [PHAssetChangeRequest creationRequestForAssetFromImageAtFileURL:originalJPEGFileURL];
    • // Make a content editing output for use with the change request.
    • PHObjectPlaceholder *placeholder = changeRequest.placeholderForCreatedAsset;
    • PHContentEditingOutput *contentEditingOutput =
    • [[PHContentEditingOutput alloc] initWithPlaceholderForCreatedAsset:placeholder];
    • // Apply content adjustments to the newly created asset.
    • contentEditingOutput.adjustmentData = adjustmentData;
    • [adjustedJPEGData writeToURL:contentEditingOutput.renderedContentURL atomically:YES];
    • changeRequest.contentEditingOutput = contentEditingOutput;
    • } completionHandler:^(BOOL success, NSError *error) {
    • if (!success) NSLog(@"Can't create asset: %@", error);
    • }];

    В этом примере приложение сначала использует a PHAssetChangeRequest возразите для запроса создания нового актива с неотредактированным изображением, полученным от камеры (originalJPEGFileURL). Затем это создает a PHContentEditingOutput объект с placeholderForCreatedAsset объект, предоставленный запросом на изменение. Наконец, это обеспечивает отфильтрованные данные изображения (adjustedJPEGData) и данные корректировки, описывающие фильтры (adjustmentData) к выводу редактирования и добавляет вывод редактирования к запросу на изменение.

    Оператор импорта

    Objective C

    @import Photos;

    Swift

    import Photos

    Доступность

    Доступный в iOS 8.0 и позже.

  • adjustmentData Свойство

    Объект, описывающий изменения, внесенные в актив.

    Объявление

    Swift

    var adjustmentData: PHAdjustmentData!

    Objective C

    @property(readwrite, strong) PHAdjustmentData *adjustmentData

    Обсуждение

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

    Если Вы пишете новое содержание актива в URL, указанный renderedContentURL свойство, необходимо также обеспечить новое, отличное PHAdjustmentData объект, описывающий Ваше редактирование. Передача существующего ранее объекта данных корректировки (который описывает более раннее редактирование), результаты в неопределенном поведении.

    Оператор импорта

    Objective C

    @import Photos;

    Swift

    import Photos

    Доступность

    Доступный в iOS 8.0 и позже.

  • renderedContentURL Свойство

    URL, в котором можно записать файл, содержащий, отредактировал содержание актива. (только для чтения)

    Объявление

    Swift

    @NSCopying var renderedContentURL: NSURL! { get }

    Objective C

    @property(readonly, copy) NSURL *renderedContentURL

    Обсуждение

    Считайте это свойство для нахождения URL для записи отредактированного содержания актива. Затем при редактировании фото актива запишите измененное фото изображение в файл в формате JPEG в этом URL. При редактировании видео актива экспортируйте видео в QuickTime (.mov) файл в этом URL.

    Оператор импорта

    Objective C

    @import Photos;

    Swift

    import Photos

    Доступность

    Доступный в iOS 8.0 и позже.