pageCurlWithShadowTransition()
Simulates the curl of a page, revealing the target image with added shadow.
Declaration
class func pageCurlWithShadowTransition() -> any CIFilter & CIPageCurlWithShadowTransitionMentioned in
Return Value
The transition image.
Discussion
This method applies the page curl with shadow transition filter to an image. The effect transitions from one image to another by simulating a curling page, revealing the target image as the page curls with a shadow effect from the backside image.
The page curl with shadow transition filter uses the following properties:
inputImageThe starting image with the type CIImage.
targetImageThe ending image with the type CIImage.
backsideImageAn image used as the backside of the curl with the type CIImage.
extentA CIVector representing the extent of the effect.
angleA
floatrepresenting the angle of the motion, in radians as an NSNumber.shadowAmountA
floatrepresenting the strength of the shadow as an NSNumber.shadowExtentA CIVector representing the rectangular portion of the input image that is used to create the shadow.
shadowSizeA
floatrepresenting the maximum amount of pixels to make up the shadow as an NSNumber.timeA
floatrepresenting the parametric time of the transition from start (at time 0) to end (at time 1) as an NSNumber.
The following code creates a page curling back to reveal the target image with an added shadow.
func pageCurl(inputImage: CIImage, targetImage: CIImage, backsideImage: CIImage) -> CIImage {
let pageCurlTransition = CIFilter.pageCurlWithShadowTransition()
pageCurlTransition.inputImage = inputImage
pageCurlTransition.targetImage = targetImage
pageCurlTransition.backsideImage = backsideImage
pageCurlTransition.extent = CGRect(x: 54, y: 90, width: 300, height: 300)
pageCurlTransition.time = 0.5
pageCurlTransition.angle = 4
pageCurlTransition.radius = 100
pageCurlTransition.shadowAmount = 10
pageCurlTransition.shadowSize = 6
pageCurlTransition.shadowExtent = CGRect(x: 32, y: 56, width: 400, height: 400)
return pageCurlTransition.outputImage!
}[Image]