Members
# static RESIZE_AUTO
Used for automatically preserving an images aspect ratio when resizing.
# static RESIZE_NEAREST_NEIGHBOR
Use Nearest-neighbor resizing.
# static SVG_MODE_HEIGHT
Scale the SVG to fit the given height. For use with Image.renderSVG
# static SVG_MODE_SCALE
Scale the SVG by the given amount. For use with Image.renderSVG
# static SVG_MODE_WIDTH
Scale the SVG to fit the given width. For use with Image.renderSVG
Methods
# blue(saturation, absolute) → {Image}
Sets the blue channels saturation
Parameters:
Name | Type | Default | Description |
---|---|---|---|
saturation |
number | The saturation to apply (0..1) |
|
absolute |
boolean | false | Whether to scale the current saturation (false) or just set the new saturation (true) |
# composite(source, xopt, yopt) → {Image}
Composites (overlays) the source onto this image at the specified coordinates
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
source |
Image | The image to place |
||
x |
number |
<optional> |
0 | The x position to place the image at |
y |
number |
<optional> |
0 | The y position to place the image at |
# contain(width, height, modeopt) → {Image}
Resizes the image so it is contained in the given bounding box. Can return an image with one axis smaller than the given bounding box.
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
width |
number | The width of the bounding box |
||
height |
number | The height of the bounding box |
||
mode |
string |
<optional> |
Image.RESIZE_NEAREST_NEIGHBOR | The resizing mode to use |
The resized image
# cover(width, height, modeopt) → {Image}
Resizes the image so it covers the given bounding box, cropping the overflowing edges. Always returns the exact dimensions of the bounding box.
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
width |
number | The width of the bounding box |
||
height |
number | The height of the bounding box |
||
mode |
string |
<optional> |
Image.RESIZE_NEAREST_NEIGHBOR | The resizing mode to use |
The resized image
# crop(x, y, width, height) → {Image}
Crops an image to the specified dimensions
Parameters:
Name | Type | Description |
---|---|---|
x |
number | The x offset |
y |
number | The y offset |
width |
number | The new images width |
height |
number | The new images height |
# cropCircle(maxopt, featheringopt) → {Image}
Crops the image into a circle
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
max |
boolean |
<optional> |
false | Whether to use the larger dimension for the size |
feathering |
number |
<optional> |
0 | How much feathering to apply to the edges |
# dominantColor(ignoreBlackopt, ignoreWhiteopt, bwThresholdopt) → {number}
Gets the images dominant color
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
ignoreBlack |
boolean |
<optional> |
true | Whether to ignore dark colors below the threshold |
ignoreWhite |
boolean |
<optional> |
true | Whether to ignore light colors above the threshold |
bwThreshold |
number |
<optional> |
0xf | The black/white threshold (0-64) |
The images dominant color
# drawBox(x, y, width, height, color) → {Image}
Draws a box at the specified coordinates
Parameters:
Name | Type | Description |
---|---|---|
x |
number | The x offset |
y |
number | The y offset |
width |
number | The box width |
height |
number | The box height |
color |
number | colorFunction | The color to fill the box in with |
# drawCircle(x, y, radius, color) → {Image}
Draws a circle at the specified coordinates with the specified radius
Parameters:
Name | Type | Description |
---|---|---|
x |
number | The center x position |
y |
number | The center y position |
radius |
number | The circles radius |
color |
number | colorFunction |
# async encode(compression, metaopt) → {Promise.<Uint8Array>}
Encodes the image into a PNG
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
compression |
number | 1 | The compression level to use (0-9) |
|
meta |
PNGMetadata |
<optional> |
{} | Image metadata |
The encoded data
# async encodeJPEG(qualityopt) → {Promise.<Uint8Array>}
Encodes the image into a JPEG
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
quality |
number |
<optional> |
90 | The JPEG quality to use (1-100) |
# async encodeWEBP(qualityopt) → {Promise.<Uint8Array>}
Encodes the image into a WEBP
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
quality |
null | number |
<optional> |
null | The WEBP quality to use (0-100) (null is lossless) |
# fill(color) → {Image}
Fills the image data with the supplied color
Parameters:
Name | Type | Description |
---|---|---|
color |
number | colorFunction |
# fit(width, height, modeopt) → {Image}
Resizes the image so it is contained in the given bounding box, placing it in the center of the given bounding box. Always returns the exact dimensions of the bounding box.
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
width |
number | The width of the bounding box |
||
height |
number | The height of the bounding box |
||
mode |
string |
<optional> |
Image.RESIZE_NEAREST_NEIGHBOR | The resizing mode to use |
The resized image
# getPixelAt(x, y) → {number}
Gets the pixel color at the specified position
Parameters:
Name | Type | Description |
---|---|---|
x |
number | |
y |
number |
The color value
# getRGBAAt(x, y) → {Uint8ClampedArray}
Gets the pixel color at the specified position
Parameters:
Name | Type | Description |
---|---|---|
x |
number | |
y |
number |
The RGBA value
# green(saturation, absolute) → {Image}
Sets the green channels saturation
Parameters:
Name | Type | Default | Description |
---|---|---|---|
saturation |
number | The saturation to apply (0..1) |
|
absolute |
boolean | false | Whether to scale the current saturation (false) or just set the new saturation (true) |
# hueShift(degrees)
Shifts the images hue
Parameters:
Name | Type | Description |
---|---|---|
degrees |
number | How many degrees to shift the hue by |
# generator iterateWithColors() → {Array.<number>}
Yields an [x, y, color] array for every pixel in the image
# lightness(value, absolute) → {Image}
Sets the brightness of the image
Parameters:
Name | Type | Default | Description |
---|---|---|---|
value |
number | The lightness to apply (0..1) |
|
absolute |
boolean | false | Whether to scale the current lightness (false) or just set the new lightness (true) |
# opacity(opacity, absolute) → {Image}
Sets the images opacity
Parameters:
Name | Type | Default | Description |
---|---|---|---|
opacity |
number | The opacity to apply (0..1) |
|
absolute |
boolean | false | Whether to scale the current opacity (false) or just set the new opacity (true) |
# red(saturation, absolute) → {Image}
Sets the red channels saturation
Parameters:
Name | Type | Default | Description |
---|---|---|---|
saturation |
number | The saturation to apply (0..1) |
|
absolute |
boolean | false | Whether to scale the current saturation (false) or just set the new saturation (true) |
# resize(width, height, modeopt) → {Image}
Resizes the image to the given dimensions.
Use Image.RESIZE_AUTO
as either width or height to automatically preserve the aspect ratio.
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
width |
number | The new width |
||
height |
number | The new height |
||
mode |
string |
<optional> |
Image.RESIZE_NEAREST_NEIGHBOR | The resizing mode to use |
The resized image
# rotate(angle, resize)
Rotates the image the given amount of degrees
Parameters:
Name | Type | Default | Description |
---|---|---|---|
angle |
number | The angle to rotate the image for (in degrees) |
|
resize |
boolean | true | Whether to resize the image so it fits all pixels or just ignore outlying pixels |
# roundCorners(radiusopt) → {Image}
Rounds the images corners
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
radius |
number |
<optional> |
min(width,height)/4 | The radius of the corners |
# saturation(value, absolute) → {Image}
Sets the saturation of the image
Parameters:
Name | Type | Default | Description |
---|---|---|---|
value |
number | The saturation to apply (0..1) |
|
absolute |
boolean | false | Whether to scale the current saturation (false) or just set the new saturation (true) |
# scale(factor, modeopt) → {Image}
Resizes the image by the given factor
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
factor |
number | The factor to resize the image with |
||
mode |
string |
<optional> |
Image.RESIZE_NEAREST_NEIGHBOR | The resizing mode to use |
# setPixelAt(x, y, pixelColor)
Sets the pixel color for the specified position
Parameters:
Name | Type | Description |
---|---|---|
x |
number | |
y |
number | |
pixelColor |
number |
# static colorToRGB(color) → {Array.<number>}
Converts a color value to an array of RGB values (ignoring the colors alpha)
Parameters:
Name | Type | Description |
---|---|---|
color |
number | The color value to convert |
The RGB values ([R, G, B])
# static colorToRGBA(color) → {Array.<number>}
Converts a color value to an array of RGBA values
Parameters:
Name | Type | Description |
---|---|---|
color |
number | The color value to convert |
The RGBA values ([R, G, B, A])
# async static decode(data) → {Promise.<Image>}
Decodes an image (PNG, JPEG or TIFF)
Parameters:
Name | Type | Description |
---|---|---|
data |
Buffer | Uint8Array | The binary data to decode |
The decoded image
# static gradient(colors) → {function}
Creates a multi-point gradient generator
Parameters:
Name | Type | Description |
---|---|---|
colors |
Object.<number, number> | The gradient points to use (e.g. |
The gradient generator. The function argument is the position in the gradient (0..1).
# static hslToColor(h, s, l) → {number}
Converts HSL colors to RGBA colors (assuming an opacity of 255)
Parameters:
Name | Type | Description |
---|---|---|
h |
number | hue (0..1) |
s |
number | saturation (0..1) |
l |
number | lightness (0..1) |
color
# static hslaToColor(h, s, l, a) → {number}
Converts HSLA colors to RGBA colors
Parameters:
Name | Type | Description |
---|---|---|
h |
number | hue (0..1) |
s |
number | saturation (0..1) |
l |
number | lightness (0..1) |
a |
number | opacity (0..1) |
color
# async static renderSVG(svg, size, mode) → {Promise.<Image>}
Creates a new image from the given SVG
Parameters:
Name | Type | Default | Description |
---|---|---|---|
svg |
string | The SVG content |
|
size |
number | 1 | The size to use |
mode |
number | The SVG resizing mode to use (one of |
The rendered SVG graphic
# async static renderText(font, scale, text, coloropt, layoutopt) → {Promise.<Image>}
Creates a new image containing the rendered text.
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
font |
Uint8Array | TrueType (ttf/ttc) or OpenType (otf) font buffer to use |
||
scale |
number | Font size to use |
||
text |
string | Text to render |
||
color |
number |
<optional> |
0xffffffff | Text color to use |
layout |
TextLayout |
<optional> |
The text layout to use |
The rendered text
# static rgbToColor(r, g, b) → {number}
Converts RGB components to an RGBA value (assuming alpha = 255)
Parameters:
Name | Type | Description |
---|---|---|
r |
number | red (0..255) |
g |
number | green (0..255) |
b |
number | blue (0..255) |
RGBA value
# static rgbaToColor(r, g, b, a) → {number}
Converts RGBA components to an RGBA value
Parameters:
Name | Type | Description |
---|---|---|
r |
number | red (0..255) |
g |
number | green (0..255) |
b |
number | blue (0..255) |
a |
number | alpha (0..255) |
RGBA value
# static rgbaToHSLA(r, g, b, a) → {Array.<number>}
Converts an RGBA value to an array of HSLA values
Parameters:
Name | Type | Description |
---|---|---|
r |
number | (0..255) |
g |
number | (0..255) |
b |
number | (0..255) |
a |
number | (0..255) |
The HSLA values ([H, S, L, A])