close

@wordpress/vips

Helper package to interact with wasm-vips.

Installation

Install the module

npm install @wordpress/vips --save

API Reference

cancelOperations

Cancels all ongoing image operations for a given item ID.

The onProgress callbacks check for an IDs existence in this list, killing the process if it’s absent.

Parameters

  • id ItemId: Item ID.

Returns

  • boolean Whether any operation was cancelled.

compressImage

Compresses an existing image using vips.

Parameters

  • id ItemId: Item ID.
  • buffer ArrayBuffer: Original file buffer.
  • type string: Mime type.
  • quality Desired quality.
  • interlaced Whether to use interlaced/progressive mode. Only used if the outputType supports it.

Returns

  • Promise< ArrayBuffer | ArrayBufferLike >: Compressed file data.

convertImageFormat

Converts an image to a different format using vips.

Parameters

  • id ItemId: Item ID.
  • buffer ArrayBuffer: Original file buffer.
  • inputType string: Input mime type.
  • outputType string: Output mime type.
  • quality Desired quality.
  • interlaced Whether to use interlaced/progressive mode. Only used if the outputType supports it.

hasTransparency

Determines whether an image has an alpha channel.

Parameters

  • buffer ArrayBuffer: Original file object.

Returns

  • Promise< boolean >: Whether the image has an alpha channel.

resizeImage

Resizes an image using vips.

Parameters

  • id ItemId: Item ID.
  • buffer ArrayBuffer: Original file buffer.
  • type string: Mime type.
  • resize ImageSizeCrop: Resize options.
  • smartCrop Whether to use smart cropping (i.e. saliency-aware).
  • quality Desired quality (0-1).

Returns

  • Promise< { buffer: ArrayBuffer | ArrayBufferLike; width: number; height: number; originalWidth: number; originalHeight: number; } >: Processed file data plus the old and new dimensions.

rotateImage

Rotates an image based on EXIF orientation value.

EXIF orientation values: 1 = Normal (no rotation needed) 2 = Flipped horizontally 3 = Rotated 180° 4 = Flipped vertically 5 = Rotated 90° CCW and flipped horizontally 6 = Rotated 90° CW 7 = Rotated 90° CW and flipped horizontally 8 = Rotated 90° CCW

Parameters

  • id ItemId: Item ID.
  • buffer ArrayBuffer: Original file buffer.
  • type string: Mime type.
  • orientation number: EXIF orientation value (1-8).

Returns

  • Promise< { buffer: ArrayBuffer | ArrayBufferLike; width: number; height: number; } >: Rotated file data plus the new dimensions.

vipsCancelOperations

Cancels all ongoing image operations for a given item ID.

The onProgress callbacks check for an IDs existence in this list, killing the process if it’s absent.

Parameters

  • id ItemId: Item ID.

Returns

  • boolean Whether any operation was cancelled.

vipsCompressImage

Compresses an existing image using vips.

Parameters

  • id ItemId: Item ID.
  • buffer ArrayBuffer: Original file buffer.
  • type string: Mime type.
  • quality Desired quality.
  • interlaced Whether to use interlaced/progressive mode. Only used if the outputType supports it.

Returns

  • Promise< ArrayBuffer | ArrayBufferLike >: Compressed file data.

vipsConvertImageFormat

Converts an image to a different format using vips.

Parameters

  • id ItemId: Item ID.
  • buffer ArrayBuffer: Original file buffer.
  • inputType string: Input mime type.
  • outputType string: Output mime type.
  • quality Desired quality.
  • interlaced Whether to use interlaced/progressive mode. Only used if the outputType supports it.

vipsHasTransparency

Determines whether an image has an alpha channel.

Parameters

  • buffer ArrayBuffer: Original file object.

Returns

  • Promise< boolean >: Whether the image has an alpha channel.

vipsResizeImage

Resizes an image using vips.

Parameters

  • id ItemId: Item ID.
  • buffer ArrayBuffer: Original file buffer.
  • type string: Mime type.
  • resize ImageSizeCrop: Resize options.
  • smartCrop Whether to use smart cropping (i.e. saliency-aware).
  • quality Desired quality (0-1).

Returns

  • Promise< { buffer: ArrayBuffer | ArrayBufferLike; width: number; height: number; originalWidth: number; originalHeight: number; } >: Processed file data plus the old and new dimensions.

vipsRotateImage

Rotates an image based on EXIF orientation value.

EXIF orientation values: 1 = Normal (no rotation needed) 2 = Flipped horizontally 3 = Rotated 180° 4 = Flipped vertically 5 = Rotated 90° CCW and flipped horizontally 6 = Rotated 90° CW 7 = Rotated 90° CW and flipped horizontally 8 = Rotated 90° CCW

Parameters

  • id ItemId: Item ID.
  • buffer ArrayBuffer: Original file buffer.
  • type string: Mime type.
  • orientation number: EXIF orientation value (1-8).

Returns

  • Promise< { buffer: ArrayBuffer | ArrayBufferLike; width: number; height: number; } >: Rotated file data plus the new dimensions.