@eryx/image Module
Image loading, encoding, pixel access, and small in-memory image operations.
Summary
Classes
width: number
height: number
channels: number
stride: number
colorSpace: "srgb" | "linear"
buffer: buffer
pixelBuffer: buffer
closed: boolean
Image:strokeRect(x: number, y: number, width: number, height: number, color: Color, thickness: number?) → ()
Image:line(x1: number, y1: number, x2: number, y2: number, color: Color, options: LineOptions?) → ()
Functions
API Reference
Classes
Image
Properties
width: number
height: number
channels: number
stride: number
colorSpace: "srgb" | "linear"
buffer: buffer
pixelBuffer: buffer
closed: boolean
Image:close
Image:close() → ()
Image:save
Image:encode
Image:clone
Image:crop
Image:subimage
Image:getPixel
Image:setPixel
Image:convert
Image:resize
Image:thumbnail
Image:flipX
Image:flipY
Image:rotate90
Image:rotate180
Image:rotate270
Image:blit
Image:draw
Image:clear
Image:fillRect
Image:strokeRect
Image:strokeRect(x: number, y: number, width: number, height: number, color: Color, thickness: number?) → ()
Image:line
Image:line(x1: number, y1: number, x2: number, y2: number, color: Color, options: LineOptions?) → ()
Image:invert
Image:grayscale
Image:brightness
Image:contrast
Image:opacity
Image:threshold
Image:colorMatrix
Functions
image.open
image.decode
image.new
image.fromBuffer
image.fromRGBABuffer
image.rgb
image.rgba
image.gray
image.rect
Types
PixelFormat
Color
r: number
g: number
b: number
a: number
Rect
x: number
y: number
width: number
height: number
DecodeOptions
applyOrientation: boolean?
NewImageOptions
BufferImageOptions
stride: number?
copy: boolean?
ImageFormat
EncodeOptions
type EncodeOptions = {
format: ImageFormat?,
quality: number?,
lossless: boolean?,
progressive: boolean?
}
quality: number?
lossless: boolean?
progressive: boolean?
ResizeFilter
ResizeOptions
type ResizeOptions = {
filter: ResizeFilter?,
fit: "stretch" | "contain" | "cover"?,
position: "center"
| "topLeft"
| "top"
| "bottom"
| "left"
| "right"
| "bottomRight"?,
background: Color?
}
fit: "stretch" | "contain" | "cover"?
position: "center" | "topLeft" | "top" | "bottom" | "left" | "right" | "bottomRight"?
BlendMode
BlitOptions
opacity: number?
ExifTagValue
ImageMetadata
type ImageMetadata = {
format: string?,
width: number?,
height: number?,
originalChannels: number?,
source: string?,
exif: {
orientation: number?,
make: string?,
model: string?,
software: string?,
dateTime: string?,
artist: string?,
copyright: string?,
tags: { ExifTagValue }?
}
}
format: string?
width: number?
height: number?
originalChannels: number?
source: string?
exif: { orientation: number?, make: string?, model: string?, software: string?, dateTime: string?, artist: string?, copyright: string?, tags: { ExifTagValue }? }