I have a UIImageView
and want it to be displayed with a specific blend mode. I know the iPhone has different blend modes, and it's probably possible to do it with a lot of CG code… but maybe there's a nice way with the CALayer
of UIImageView
?
Modify a layer's blend modeIn the HUD, click the Blend Mode pop-up menu, then choose a different mode. In the Properties Inspector, click the Blend Mode pop-up menu, then choose a different mode. Choose Object > Blend Mode, then choose a different mode from the submenu.
Some of the more commonly used blend modes are Multiply, Screen, Overlay and Soft Light.
Set the compositingFilter of a view's layer to a supported blend mode string. From the docs, a layer's compositingFilter is
A CoreImage filter used to composite the layer and the content behind it.
To obtain a list of Core Image filters, print out the filter names defined by a kCICategoryCompositeOperation
[CIFilter filterNamesInCategory:kCICategoryCompositeOperation]
or directly as
[CIFilter filterNamesInCategory:@"CICategoryCompositeOperation"]
The array will include Core Image filters in the form
{
CIColorBlendMode,
CIColorBurnBlendMode,
CIColorDodgeBlendMode,
CIMultiplyBlendMode,
...
}
To use the CIMultiplyBlendMode, set "multiplyBlendMode" as the compositingFilter on the layer
self.layer.compositingFilter = @"multiplyBlendMode";
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With