@4bitlabs/color
TypeScript icon, indicating that this package has built-in type declarations

2.1.1 • Public • Published

@4bitlabs/color License NPM Version NPM Downloads

A collection color manipulation functions and predefined palettes for working with EGA/CGA images.

Palettes

Predefined Palettes

Palette
Palettes.CGA_PALETTE IBM's CGA Palette
Palettes.TRUE_CGA_PALETTE VileR's "True" CGA Palettte
Palette.DGA_PALETTE Adigun A. Polack's AAP-DGA16
Palette.COLLY_SOFT_PALETTE collyflower05's SOFT CGA PALETTE

Using your own Palette

const customPalette = Uint32Array.of(
  //AA-BB-GG-RR
  0xff_1f_1f_1f, // color 0
  /*        ...           */
  /* snip 14 more entries */
  /*        ...           */
  0xff_e0_e0_e0, // color 15
);

Predefined Dither Pairs

Mix Palette Mix
Dithers.CGA CGA none
Dithers.CGA_MIX CGA 25% mix
Dithers.CGA_FLAT CGA 50% mix (SCUMMVM de-dithering)
Dithers.CGA_SOFT CGA Dynamic mix
Dithers.TRUE_CGA TRUE-CGA none
Dithers.TRUE_CGA_MIX TRUE-CGA 25% mix
Dithers.TRUE_CGA_FLAT TRUE-CGA 50% mix (SCUMMVM de-dithering)
Dithers.TRUE_CGA_SOFT TRUE-CGA Dynamic mix

Generating your own Dither Pairs

import { generateSciDitherPairs, Mixers } from '@4bitlabs/color';

const pairs = generateSciDitherPairs(customPalette, Mixers.softMixer());

IBM 5153 Contrast Knob

import { IBM5153Contrast } from '@4bitlabs/color';

// Simulate turning the constrast knob on a IBM-5153 to about 50%
const palette = IBM5153Contrast(Palettes.CGA_PALETTE, 0.5);

Simulating Grayscale

const grays = toGrayscale(Palettes.CGA_PALETTE);

Readme

Keywords

none

Package Sidebar

Install

npm i @4bitlabs/color

Weekly Downloads

10

Version

2.1.1

License

ISC

Unpacked Size

39.1 kB

Total Files

67

Last publish

Collaborators

  • 32bitkid