ios - How to do the clipping mask effect using the two images - ios

Am having the mask image and the normal image i want to do the exact clipping mask effect and want to set that image to the UIImageView.
In this PIP Camera app they did this
https://itunes.apple.com/in/app/hua-zhong-hua-xiang-ji-nice/id521922264?mt=8
And i tried this
How to Mask an UIImageView
exactly what they suggest but no luck
Could anyone here give an idea of how we do that?

Related

SWIFT - CALayer between PNG and background image

I have seen many stackoverflow posts or tutorials on how make a mask with an image and a rectangle or a circle, but it is possible to make a mask between a png file with transparency and a background image.
In the photoshop screenshot I use the wolf png image as a mask for the background.
Any approach for this with CALayer or other in SWIFT ?
Thank you very much.
UIView as of iOS 8 has a mask property which you can set to any view with an alpha channel, including a UIImageView that has your image in it.
This is just a wrapper arround CALayer's mask property which works similarly. Set your image to the content property of your masking layer and set the masking layer as the mask for your background image layer.

iOS: Apply rotating UIImage as alpha mask to another UIImageView

I have a UIImageView. I'd like to use a specific UIImage as an alpha mask to this UIImageView so that the UIImageView's image takes on the alpha component of the UIImage. The tricky part is that the UIImage should be rotating so that the alpha component of the UIImageView's image is animating.
I've never done this sort of thing. Could someone help me get started?
Thank you.
You should be able to do this by installing your mask image into a CALayer and then installing that layer as the mask on your image view's layer.
Finally you'd create a CABasicAnimation that would animate the rotation.z of the mask layer's transform.
I don't know for absolutely certain that rotating a mask layer animates the masking action, but I'm pretty sure it would work.

CSS Masking in iOS

I have an image in my iOS app. I want to use css masking technique to achieve the same image but with colors. The 1st image is the original image and the 2nd image is the output image that is required. How can i achieve it in iOS :
The drawing system on iOS is called Quartz 2D. Here's the documentation:
https://developer.apple.com/library/ios/documentation/graphicsimaging/conceptual/drawingwithquartz2d/dq_overview/dq_overview.html
You will be able to use the shape of your image as a clipping path and then draw a gradient.
Alternatively, a simpler way is to draw a simple gradient with a CAGradientLayer and then mask the layer; see the documentation on CALayer and CAGradientLayer.

Apply a mask to a UIView to simulate a glass shimmer

My base image is a complex shape with multiple colors and an alpha background.
My shimmer effect is a white slanted gradient with an alpha background.
My goal is to animate the shimmer image over top of the base image, but make the alpha values of of the shimmer match those of the base image.
I've only used layer masks to hide areas based on the color, not to both show AND hide parts of an image. Will I need to create multiple masks to achieve this? A white version of my base image that will show through the masked shimmer image, all on top of my colored base image?
Since your shimmer effect is created by moving a single image/layer over a base image, you only need one mask in the shape of the non-alpha values in your base image. You will likely need to use a container view for your shimmer image view/layer that you overlay onto of the base image, then set the image mask on the container.

How to apply a soft shaped shadow to graphics which have transparent areas in them?

Normally I'm using CALayer shadowRadius, but now I also need to use UIImage and apply shaped shadows to it based on the content in the image.
For example when I have a layer with text in it and I set a shadow, it works automatically on the text and not just on the rectangle of the layer.
In Photoshop this is known as "layer style" and it automatically works based on the shape of the image content.
I am afraid that I need to implement some Harvard-Stanford-MIT-NASA kind of hardcore logic to apply a shadow on a "shaped image", i.e. an image of an round icon where the areas around the icon are fully transparent.
I'm able to manipulate images on a per-pixel level as I'm doing this already to draw charts, so if there was an open-sourced implementation of some fantastic algorithms this would be fantastic. And if not: How does this basically work? My guess is I would "just" try to blur a grayscaled version of my image somehow and then overlay it with the non-blurred version.
My guess is I would "just" try to blur a grayscaled version of my image somehow and then overlay it with the non-blurred version.
That's pretty much it, actually. Except instead of blurring a greyscaled version of the image, blur a solid-colored version of the image (i.e. keep the alpha channel, but make all pixels black). Although CALayer's shadowing should do this already for you.
If your images are already composited onto a background (i.e. without real transparency), you have a harder problem as you first need to "remove" the background before you can have the shape of the object in order to generate the shadow.

Resources