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

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

Разработчик

Ссылка платформы CoreImage ссылка класса CIWarpKernel

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

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

CIWarpKernel

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


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


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


Swift

import CoreImage

Objective C

@import CoreImage;

Доступность


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

A CIWarpKernel объект управляет основанной на GPU подпрограммой обработки изображений, обрабатывающей только информацию о геометрии в изображении, используемом для создания пользовательских Базовых фильтров Изображения. Вы создаете CIWarpKernel методы использования объектов суперкласса CIKernel.

Подпрограмма языка ядра для ядра деформации имеет следующие характеристики:

  • Это использует точно одно входное изображение.

  • Его тип возврата vec2, указание позиции в координатах исходного изображения.

Подпрограмма ядра деформации не требует никаких входных параметров (но может использовать дополнительные пользовательские параметры, которые Вы объявляете). Как правило, ядро деформации использует функцию destCoord для поиска координат целевого пикселя, в настоящее время представляемого, затем вычисляет соответствующую позицию в координатах исходного изображения (вывод с помощью return ключевое слово). Базовое Изображение тогда выборки из исходного изображения в возвращенных координатах для создания пикселя окрашивает для выходного изображения. Например, Базовый источник Языка Ядра Изображения ниже реализует фильтр, проходящий через его входное неизменное изображение.

  • kernel vec4 do_nothing() {
  • return destCoord();
  • }

Базовый Язык Ядра Изображения является диалектом Языка Штриховки OpenGL. Посмотрите Базовую Ссылку Языка Ядра Изображения и Базовое Руководство по программированию Изображения для большего количества подробных данных.

  • Создает новое изображение с помощью ядра и указанного входного изображения и параметров.

    Объявление

    Swift

    func applyWithExtent(_ extent: CGRect, roiCallback callback: CIKernelROICallback!, inputImage image: CIImage!, arguments args: [AnyObject]!) -> CIImage!

    Objective C

    - (CIImage *)applyWithExtent:(CGRect)extent roiCallback:(CIKernelROICallback)callback inputImage:(CIImage *)image arguments:(NSArray *)args

    Параметры

    extent

    Степень выходного изображения.

    callback

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

    image

    Входное изображение, которое будет обработано ядром деформации.

    args

    Массив параметров для передачи подпрограмме ядра. Тип каждого объекта в массиве должен быть совместим с соответствующим параметром, объявленным в исходном коде подпрограммы ядра. Для получения дополнительной информации посмотрите Базовую Ссылку Языка Ядра Изображения.

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

    Новый объект изображения, описывающий результат применения ядра.

    Обсуждение

    Этот метод походит CIFilter метод apply:arguments:options:, но это не требует конструкции a CIFilter объект, и это позволяет Вам указывать обратный вызов для определения области ядра интереса как блок или закрытие. Как с подобным CIFilter метод, вызывая этот метод не выполняет код ядра — фильтры и их код ядра оценены только при рендеринге изображения окончательного результата.

    При применении ядра фильтра область интереса (ROI) является областью пикселей исходного изображения, которые должны быть обработаны для создания данной области пикселей конечного изображения. Для более подробного определения посмотрите Область Интереса. Базовое Изображение вызывает Ваш callback блок или закрытие для определения ROI при рендеринге вывода фильтра. Базовое Изображение автоматически разделяет большие изображения на меньшие мозаики для рендеринга, таким образом, Ваш обратный вызов можно вызвать многократно.

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

    Objective C

    @import CoreImage;

    Swift

    import CoreImage

    Доступность

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