keystoneCorrectionVertical()
Vertically adjusts an image to remove distortion.
Declaration
class func keystoneCorrectionVertical() -> any CIFilter & CIKeystoneCorrectionVerticalReturn Value
The adjusted image.
Discussion
This method applies the keystone correction vertical. The effect performs vertical adjustment of the image to shape the image to be rectangular. This effect is commonly used with multimedia projectors to correct the distortion caused by the projector being lower or higher than the projected screen.
The keystone vertical filter uses the following properties:
inputImageAn image with the type CIImage.
topLeftA CGPoint in the input image mapped to the top-left corner of the output image.
topRightA CGPoint in the input image mapped to the top-right corner of the output image.
bottomLeftA CGPoint in the input image mapped to the bottom-left corner of the output image.
bottomRightA CGPoint in the input image mapped to the bottom-right corner of the output image.
focalLengthA
floatrepresenting the simulated focal length as an NSNumber.
The following code creates a filter that distorts the image:
func keystoneCorrectionVertical(inputImage: CIImage) -> CIImage {
let keystoneCorrect = CIFilter.keystoneCorrectionVertical()
keystoneCorrect.inputImage = inputImage
keystoneCorrect.topLeft = CGPoint(x: 0, y: 3024)
keystoneCorrect.topRight = CGPoint(x: 4032, y: 3024)
keystoneCorrect.bottomLeft = CGPoint(x: 200, y: 0)
keystoneCorrect.bottomRight = CGPoint(x: 4032, y: 0)
keystoneCorrect.focalLength = 18
return keystoneCorrect.outputImage!
}[Image]