jascpal
Paint Shop Pro Palette file reader/writer
Last updated 4 years ago by goto-bus-stop .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install jascpal 
SYNC missed versions from official npm registry.

jascpal

Jasc Paint Shop Pro Palette file library in Node.js.

NPM

Usage Example

let Palette = require('jascpal')
let { readFileSync, writeFileSync } = require('fs')

let pal = Palette(readFileSync('my-palette.pal'))

// pal is now an extended array of [r, g, b] colour arrays
pal.getColor(0) //→ colour at index 0
pal[0] //→ colour at index 0
pal.getColor(12) //→ colour at index 12
pal.setColor(0, [ 0xff, 0x00, 0x77 ]) //→ colour at index 0 is now #ff0077
pal[12] = [ 0xff, 0xff, 0xff ] //→ colour at index 12 is now #ffffff
pal.toString() // or
(pal + '')     //→ new palette file source

writeFileSync('my-new-palette.pal', pal.toString())

WTF?

Jasc Paint Shop Pro Palette files are used in the Genie engine, of Age of Empires 2 fame, and probably somewhere else. (Paint Shop Pro? Maybe? I wouldn't know!)

API

let pal = Palette(buf|string)

Parses a Buffer or string into an array of colours.

let pal = Palette(array)

Adds the below Palette methods to the given array.

let pal = Palette()

Creates a new colour array with the below Palette methods.

pal[0] or pal.getColor(0)

Gets the colour at a given index. Colours are plain old [ r, g, b ] arrays, three integers between 0 and 255. Returns undefined if there is no colour at the given index.

pal[0] = color or pal.setColor(0, color)

Sets the colour at a given index. Note that it doesn't actually check if you've put in valid colours. The setColor method also returns the palette so you can chain it (pal.setColor(0, color0).setColor(2, color2)).

(pal + '') or pal.toString()

"Unparses" the colour array into a proper Palette source string.

Current Tags

  • 0.1.4                                ...           latest (4 years ago)

4 Versions

  • 0.1.4                                ...           4 years ago
  • 0.1.2                                ...           6 years ago
  • 0.1.1                                ...           6 years ago
  • 0.1.0                                ...           6 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 1
Last Day 0
Last Week 0
Last Month 2
Dependencies (1)
Dev Dependencies (2)

Copyright 2014 - 2016 © taobao.org |