Class ImageManipulator

API for image processing. If applicable on the platform, all the methods return images with the same liveness flag as the input image.

Example

Since the class is backed by native resources and implements AsyncDisposable it's highly recommended to use the await using syntax when an instance is created to ensure the resource is disposed automatically:

await using instance = await ImageManipulator.create(...);

Alternatively, one can explicitly call dispose method to release the native resource. If neither is used, the resource will be released when the instance is garbage collected which is not recommended.

Implements

  • AsyncDisposable

Methods

  • Returns Promise<void>

  • Crops out the given rectangle from the image.

    Parameters

    • image: ImageRef

      The image to crop.

    • rect: Rectangle

      The rectangle in normalized coordinates to crop.

    Returns Promise<ImageRef>

    Cropped image.

  • As the instance is backed by a native resource, it should be disposed when it is no longer needed. This method will release the native resource. As a recommended alternative since the class implements AsyncDisposable one can use 'await using' syntax to ensure the resource is disposed of automatically. If neither is used, the resource will be released when the instance is garbage collected which is not recommended.

    Returns Promise<void>

    A promise that resolves when the instance is disposed.

  • Flips the given image horizontally or vertically.

    Parameters

    • image: ImageRef

      The image to flip

    • origin: ImageOrigin

      Location of the image origin in the image coordinate system.

    Returns Promise<ImageRef>

    The result of the filter application.

  • Resizes the given image to the given size.

    Parameters

    • image: ImageRef

      The image to resize

    • size: number

      Size of the longer side of the image.

    Returns Promise<ImageRef>

    Resized image.

  • Rotates the given image by the given angle.

    Parameters

    Returns Promise<ImageRef>

    Rotated image.