<!--
{
  "availability" : [
    "iOS: 13.0.0 -",
    "iPadOS: 13.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.15.0 -",
    "tvOS: 13.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "CoreImage",
  "identifier" : "/documentation/CoreImage/CIFilter-swift.class/keystoneCorrectionVertical()",
  "metadataVersion" : "0.1.0",
  "role" : "Type Method",
  "symbol" : {
    "kind" : "Type Method",
    "modules" : [
      "Core Image",
      "CoreImage"
    ],
    "preciseIdentifier" : "c:objc(cs)CIFilter(cm)keystoneCorrectionVerticalFilter"
  },
  "title" : "keystoneCorrectionVertical()"
}
-->

# keystoneCorrectionVertical()

Vertically adjusts an image to remove distortion.

```
class func keystoneCorrectionVertical() -> any CIFilter & CIKeystoneCorrectionVertical
```

## Return 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:

- `inputImage`: An image with the type [`CIImage`](/documentation/CoreImage/CIImage).
- `topLeft`: A <doc://com.apple.documentation/documentation/CoreFoundation/CGPoint> in the input image mapped to the top-left corner of the output image.
- `topRight`: A <doc://com.apple.documentation/documentation/CoreFoundation/CGPoint> in the input image mapped to the top-right corner of the output image.
- `bottomLeft`: A <doc://com.apple.documentation/documentation/CoreFoundation/CGPoint> in the input image mapped to the bottom-left corner of the output image.
- `bottomRight`: A <doc://com.apple.documentation/documentation/CoreFoundation/CGPoint> in the input image mapped to the bottom-right corner of the output image.
- `focalLength`: A `float` representing the simulated focal length as an <doc://com.apple.documentation/documentation/Foundation/NSNumber>.

The following code creates a filter that distorts the image:

```swift
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!
}
```

![Two photographs of a large building on the corner of an intersection. The building has small windows and is made of a brick structure. The photo on the left has no modifications to size or color. In the photo on the right, a keystone correction vertical filter is applied, distorting the rectangular image to appear slanted with the bottom-left corner of the photo raised.](images/com.apple.coreimage/media-3582222@2x.png)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)