trim-image-data
💇♀️ Function for trimming/cropping transparent pixels surrounding an image. Very similar to trim-canvas, but accepts and returns an ImageData-instance instead. Also allows specifying custom colors to trim.
Demo
https://trim-image-data.netlify.app
Installation
npm | yarn |
---|---|
npm install trim-image-data |
yarn add trim-image-data |
Usage
trimImageData(imageData, trimOptions)
Creates a trimmed version of an ImageData-instance. Trims fully transparent pixels by default. Does not mutate the recieved instance.
Parameters:
-
imageData
- the ImageData-instance instance to crop -
cropOptions
- optional, an object specifying the amount of pixels to crop from each sidetrimColor({ red, green, blue, alpha }) => boolean
Callback function used to determine if a value should be trimmed or not. Receives an object of RGBA channels and should return a boolean.
Return value:
A new, trimmed ImageData-instance.
Examples:
; // trim surrounding fully transparent pixelsconst trimmedTransparent = ; // trim surrounding white pixelsconst trimmedWhite = ; // trim any pixel without max alphaconst trimmedDim = ;
Related packages
- crop-image-data - crops ImageData by specified number of pixels. Used as a dependency in
trim-image-data
.
Credits
A lot of the code in this repo is based on trim-canvas, I just had a need for the same functionality without passing a canvas.