# palette-simple

> generate reduced color palettes for images

Latest version **0.0.11** (published 2022-06-10) · MIT license · 0 weekly downloads

## Install

```sh
npm install palette-simple
pnpm add palette-simple
yarn add palette-simple
bun add palette-simple
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.0.11 |
| Published | 2022-06-10 |
| First published | 2022-06-10 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 1 |
| Unpacked size | 234.5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | stonkpunk |
| Maintainers | stonkpunk |
| Keywords | colors, rgba, palette, posterize, image |

## Links

- npm: https://www.npmjs.com/package/palette-simple
- Homepage: https://github.com/stonkpunk/my-npm-modules/tree/main/palette-simple
- npm.io page: https://npm.io/package/palette-simple

## Dependencies (1)

- [skmeans](https://npm.io/package/skmeans.md) ^0.11.3

## Alternatives

- [postcss-color-hex-alpha](https://npm.io/package/postcss-color-hex-alpha.md) — 6.4M weekly downloads
- [randomcolor](https://npm.io/package/randomcolor.md) — 348.0K weekly downloads
- [bows](https://npm.io/package/bows.md) — 1.3K weekly downloads
- [ep_prefer_color_scheme](https://npm.io/package/ep_prefer_color_scheme.md) — 260 weekly downloads
- [coc-yank](https://npm.io/package/coc-yank.md) — 61 weekly downloads

## Recent versions

- 0.0.11 (latest) — 2022-06-10
- 0.0.1 — 2022-06-10

## README

# palette-simple

generate reduced color palette versions of an image

uses `skmeans` clusters

## Installation

```sh
npm i palette-simple
```

## Usage 

```javascript
var imgPalette = require('palette-simple').imgPalette;
var img = require('image-sync').read('./cat.png');

var numberOfColors = 8;

//imgPalette(data, numberOfColors, skipBuildImage=false) //data is flat uint8 array [r,g,b,a,r,g,b,a ... ]
var dataPalettized = imgPalette(img.data, numberOfColors); //returns {palette, data}

var theColorPalette = dataPalettized.palette;
console.log(theColorPalette);

// palette with 8 colors 
// [
//     [ 158, 130, 122 ],
//     [ 97, 71, 65 ],
//     [ 200, 175, 165 ],
//     ...
// ]

img.data = dataPalettized.data;
img.saveAs('./cat2.png');
```

![2 colors](https://i.imgur.com/JFPvZ1F.png)<br>
2 colors

![4 colors](https://i.imgur.com/wPzrzRH.png)<br>
4 colors

![8 colors](https://i.imgur.com/aC1g8SI.png)<br>
8 colors

![16 colors](https://i.imgur.com/OFtJQWY.png)<br>
16 colors

![32 colors](https://i.imgur.com/dm5dFNQ.png)<br>
32 colors

![original](https://i.imgur.com/G0MDc1e.png)<br>
original

# See Also
- [get-rgba-palette](https://www.npmjs.com/package/get-rgba-palette)
- [image-palette](https://www.npmjs.com/package/image-palette)
- [palette](https://www.npmjs.com/package/palette)

<br><br><br><br>

[![stonks](https://i.imgur.com/UpDxbfe.png)](https://www.npmjs.com/~stonkpunk)

---
_Source: https://npm.io/package/palette-simple · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
