Как обрезать CIImage на многоугольник только с помощью графического процессора? - PullRequest
0 голосов
/ 14 февраля 2019

Из-за некоторой проблемы с производительностью, теперь мне нужно обрезать изображение для многоугольника с помощью графического процессора, но UIImage и CGImage / CGContext используют только CPU, и CIImage не может быть обрезан по пути (EX: BezierPath).

Есть идеи для этого?Большое спасибо !!

дальнейшее объяснение:

Я использовал CGContext, чтобы обрезать изображение для рендеринга кадра видео.

Но CGContext слишком медленный, чем CIContext, когда рендеринг.

Поэтому мне нужно найти способ обрезать изображение в CIContext.

И теперь я нахожу решение, которое позволяет использовать «CIBlendWithMask» в CIFilter, чтобы сделать что-то вроде отсечения с CoreImage в CIContext.

1 Ответ

0 голосов
/ 23 февраля 2019

Если вы ориентируетесь на iOS 8+, я настоятельно рекомендую вам прочитать о Металл : Ссылка на металл

Если вы ориентируетесь на iOS 7 и ниже, то OpenGL должен быть вашим другом: Ссылка на OpenGL

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

...