Как визуализировать CALayer с другим режимом наложения, например, экраном или умножением? - PullRequest
8 голосов
/ 30 мая 2010

У меня есть UIImageView, и я хочу, чтобы он отображался в определенном режиме наложения.Я знаю, что у iPhone разные режимы наложения, и, возможно, это возможно сделать с большим количеством кода CG… но, может быть, есть хороший способ с CALayer из UIImageView?

Ответы [ 2 ]

2 голосов
/ 22 марта 2017

Установите compositingFilter слоя представления в поддерживаемую строку режима наложения. Из документов compositingFilter слоя равен

Фильтр CoreImage, используемый для компоновки слоя и содержимого за ним.

Чтобы получить список фильтров Core Image, распечатайте имена фильтров, определенные kCICategoryCompositeOperation

[CIFilter filterNamesInCategory:kCICategoryCompositeOperation]

или непосредственно как

[CIFilter filterNamesInCategory:@"CICategoryCompositeOperation"]

В массив будут включены фильтры Core Image в форме

{
   CIColorBlendMode,
   CIColorBurnBlendMode,
   CIColorDodgeBlendMode,
   CIMultiplyBlendMode,
   ...
}

Чтобы использовать CIMultiplyBlendMode, установите «multiplyBlendMode» в качестве compositingFilter на слое

self.layer.compositingFilter = @"multiplyBlendMode";
1 голос
/ 14 июля 2010
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...