Skip to content

1681-engine / pixel / PixelGrid

Class: PixelGrid ​

Defined in: src/pixel/pixel.ts:94

Extended by ​

Constructors ​

Constructor ​

ts
new PixelGrid(w, h): PixelGrid;

Defined in: src/pixel/pixel.ts:97

Parameters ​

ParameterType
wnumber
hnumber

Returns ​

PixelGrid

Properties ​

data ​

ts
readonly data: Uint32Array;

Defined in: src/pixel/pixel.ts:95


h ​

ts
readonly h: number;

Defined in: src/pixel/pixel.ts:99


w ​

ts
readonly w: number;

Defined in: src/pixel/pixel.ts:98

Methods ​

alphaAt() ​

ts
alphaAt(x, y): number;

Defined in: src/pixel/pixel.ts:119

Parameters ​

ParameterType
xnumber
ynumber

Returns ​

number


blend() ​

ts
blend(
   x, 
   y, 
   c
): void;

Defined in: src/pixel/pixel.ts:295

Alpha-blends a color onto an existing pixel.

Parameters ​

ParameterType
xnumber
ynumber
cnumber

Returns ​

void


blit() ​

ts
blit(
   src, 
   dx, 
   dy, 
   flipX?
): void;

Defined in: src/pixel/pixel.ts:285

Parameters ​

ParameterTypeDefault value
srcPixelGridundefined
dxnumberundefined
dynumberundefined
flipXbooleanfalse

Returns ​

void


circle() ​

ts
circle(
   cx, 
   cy, 
   r, 
   c
): void;

Defined in: src/pixel/pixel.ts:146

Parameters ​

ParameterType
cxnumber
cynumber
rnumber
cnumber

Returns ​

void


clone() ​

ts
clone(): PixelGrid;

Defined in: src/pixel/pixel.ts:343

Returns ​

PixelGrid


ellipse() ​

ts
ellipse(
   cx, 
   cy, 
   rx, 
   ry, 
   c
): void;

Defined in: src/pixel/pixel.ts:136

Filled ellipse; a pixel is inside when its center lies inside the ellipse.

Parameters ​

ParameterType
cxnumber
cynumber
rxnumber
rynumber
cnumber

Returns ​

void


equals() ​

ts
equals(other): boolean;

Defined in: src/pixel/pixel.ts:327

Same size and same pixels.

Parameters ​

ParameterType
otherPixelGrid

Returns ​

boolean


get() ​

ts
get(x, y): number;

Defined in: src/pixel/pixel.ts:114

Parameters ​

ParameterType
xnumber
ynumber

Returns ​

number


hline() ​

ts
hline(
   x0, 
   x1, 
   y, 
   c
): void;

Defined in: src/pixel/pixel.ts:127

Parameters ​

ParameterType
x0number
x1number
ynumber
cnumber

Returns ​

void


inBounds() ​

ts
inBounds(x, y): boolean;

Defined in: src/pixel/pixel.ts:104

Parameters ​

ParameterType
xnumber
ynumber

Returns ​

boolean


key() ​

ts
key(): number;

Defined in: src/pixel/pixel.ts:334

Cheap hash of the pixels, for grouping identical frames before comparing them.

Returns ​

number


line() ​

ts
line(
   x0, 
   y0, 
   x1, 
   y1, 
   c, 
   thickness?
): void;

Defined in: src/pixel/pixel.ts:158

Parameters ​

ParameterTypeDefault value
x0numberundefined
y0numberundefined
x1numberundefined
y1numberundefined
cnumberundefined
thicknessnumber1

Returns ​

void


outline() ​

ts
outline(
   c, 
   diagonal?, 
   width?
): void;

Defined in: src/pixel/pixel.ts:211

Adds width pixels of outline around all opaque pixels, one ring at a time — the same result as calling it width times, but each ring only visits the neighbours of the ring before it instead of the whole grid again. (A pixel next to ring k is always filled by ring k+1, so nothing further back can still be waiting.)

Parameters ​

ParameterTypeDefault value
cnumberundefined
diagonalbooleanfalse
widthnumber1

Returns ​

void


poly() ​

ts
poly(points, c): void;

Defined in: src/pixel/pixel.ts:185

Filled polygon (even-odd scanline on pixel centers).

Parameters ​

ParameterType
points[number, number][]
cnumber

Returns ​

void


px() ​

ts
px(
   x, 
   y, 
   c
): void;

Defined in: src/pixel/pixel.ts:108

Parameters ​

ParameterType
xnumber
ynumber
cnumber

Returns ​

void


recolor() ​

ts
recolor(from, to): void;

Defined in: src/pixel/pixel.ts:271

Replaces every pixel whose color matches from.

Parameters ​

ParameterType
fromnumber
tonumber

Returns ​

void


rect() ​

ts
rect(
   x, 
   y, 
   w, 
   h, 
   c
): void;

Defined in: src/pixel/pixel.ts:123

Parameters ​

ParameterType
xnumber
ynumber
wnumber
hnumber
cnumber

Returns ​

void


ring() ​

ts
ring(
   cx, 
   cy, 
   r, 
   thickness, 
   c
): void;

Defined in: src/pixel/pixel.ts:150

Parameters ​

ParameterType
cxnumber
cynumber
rnumber
thicknessnumber
cnumber

Returns ​

void


tint() ​

ts
tint(f, pred): void;

Defined in: src/pixel/pixel.ts:276

Multiplies brightness of opaque pixels matching pred.

Parameters ​

ParameterType
fnumber
pred(x, y) => boolean

Returns ​

void


toCanvas() ​

ts
toCanvas(): HTMLCanvasElement;

Defined in: src/pixel/pixel.ts:349

Returns ​

HTMLCanvasElement


upscaled() ​

ts
upscaled(factor): PixelGrid;

Defined in: src/pixel/pixel.ts:314

The same picture on a grid factor times as fine, each pixel becoming a square block.

Parameters ​

ParameterType
factornumber

Returns ​

PixelGrid


vline() ​

ts
vline(
   x, 
   y0, 
   y1, 
   c
): void;

Defined in: src/pixel/pixel.ts:131

Parameters ​

ParameterType
xnumber
y0number
y1number
cnumber

Returns ​

void


from() ​

ts
static from(canvas): PixelGrid;

Defined in: src/pixel/pixel.ts:306

Reads a canvas back into a grid (a PNG layer of the paper doll joining the painted ones).

Parameters ​

ParameterType
canvasHTMLCanvasElement

Returns ​

PixelGrid

Released under the MIT License.