1.0.13 • Published 2 years ago

pixels-matrix v1.0.13

Weekly downloads
-
License
ISC
Repository
github
Last release
2 years ago

Pixels Matrix

Overview

This Lib provides utility to manage 2D pixels matrices, specifically focusing on pixel and color data manipulations, ideal for LED matrix handling.

Installation

Install via NPM:

npm install --save pixels-matrix

Key Features

  • Pixel Management: Handle pixel data in a 2D matrix.
  • Color Handling: Manage colors using different formats (RGB, HEX, and HSV).
  • Flexible Configurations: Adapt matrix rendering through customizable options.

Basic Usage

Pixel Matrix

import { PixelMatrix, Point, Color } from "pixels-matrix";

// Initialize PixelMatrix
const matrix = new PixelMatrix(8, 8);

// Set a pixel color using Point and Color
const point: Point = { x: 2, y: 3 };
const color: Color = Color.FromHEX("#ff5733");
matrix.setColor(point, color);

// Get a pixel color
const retrievedColor: Color = matrix.getColor(point);

// Fill the entire matrix with a color
matrix.fillColor(Color.Blue);

// Convert PixelMatrix data to array
const pixelArray: Uint32Array = matrix.ToArray();

Color Handling

import { Color } from "pixels-matrix";

// Create color using various formats
const colorFromRGB = Color.FromRGB(255, 87, 34);
const colorFromHEX = Color.FromHEX("#FF5722");
const colorFromHSV = Color.FromHSV(0.05, 0.66, 1);

// Retrieve uint32 data from color
const uint32Color = colorFromRGB.getUint32();
// Retrieve rgb data from color
const [r, b, g] = colorFromRGB.getRGB();

Options

MatrixOptions

MatrixOptions allows you to control the appearance of the pixel matrix.

  • x_mirrored (default false): Mirror the matrix horizontally.
  • y_mirrored (default false): Mirror the matrix vertically.
  • zigzag (default false): Enable zigzag rendering.

Example:

const options = {
  x_mirrored: true,
  y_mirrored: false,
  zigzag: true,
};
const matrix = new PixelMatrix(8, 8, options);

API Reference

Class: PixelMatrix

  • Methods:
    • getColor(point: Point): Color: Get color of the pixel at given point.
    • setColor(point: Point, color: Color): void: Set color of the pixel at given point.
    • fillColor(color: Color): void: Fill the entire matrix with a specified color.
    • getCoord(index: number): Point: Get matrix coordinates from a linear index.
    • getIndex(point: Point): number: Get linear index from matrix coordinates.
    • setMatrix(grayScale: number[][], color: Color, option?: SetMatrixOption): Apply matrix data from a 2D array.
    • ToArray(): Uint32Array: Convert matrix data to a typed array.
  • SetMatrixOption
    • xOffset (default 0): Offset of the matrix on the x-axis.
    • yOffset (default 0): Offset of the matrix on the y-axis.

Class: Color

  • Static Methods:
    • Various utility methods to create Color instances from different formats.
  • Methods:
    • getUint32(): number: Convert color to uint32 format.
    • getRGB(): [number, number, number]: Convert color to rgb format.
1.0.13

2 years ago

1.0.12

2 years ago

1.0.11

2 years ago

1.0.10

2 years ago

1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago