image-palette-webgpu
Version:
A tiny zero-dependency browser package that extracts dominant color or color palette from an image using WebGPU API with various algorithms
165 lines (121 loc) • 3.08 kB
Markdown
[](https://npmjs.com/package/image-palette-webgpu)
A tiny zero-dependency browser package that extracts dominant color or color palette from an image using WebGPU API with various algorithms.
# Table of contents
- [Live demo](#live-demo)
- [Install](#install)
- [Import](#import)
* [Local](#local)
+ [JS](#js)
+ [HTML](#html)
+ [Import maps](#import-maps)
- [JS](#js-1)
- [HTML](#html-1)
+ [Dev Servers / Builders](#dev-servers--builders)
- [JS](#js-2)
- [HTML](#html-2)
* [CDN](#cdn)
+ [UNPKG](#unpkg)
- [JS](#js-3)
- [HTML](#html-3)
+ [ESM CDN](#esm-cdn)
- [JS](#js-4)
- [HTML](#html-4)
+ [Skypack](#skypack)
- [JS](#js-5)
- [HTML](#html-5)
- [Use](#use)
* [JS](#js-6)
# Live demo
https://ivanludvig.dev/image-palette-webgpu/
# Install
```sh
npm i image-palette-webgpu
```
# Import
## Local
### JS
```js
import { extractDominantColors } from './node_modules/image-palette-webgpu/index.js';
```
### HTML
```html
<script type="module">
import { extractDominantColors } from './node_modules/image-palette-webgpu/index.js';
</script>
```
### Import maps
```html
<script type="importmap">
{
"imports": {
"image-palette-webgpu": "./node_modules/image-palette-webgpu/index.js"
}
}
</script>
```
#### JS
```js
import { extractDominantColors } from 'image-palette-webgpu';
```
#### HTML
```html
<script type="module">
import { extractDominantColors } from 'image-palette-webgpu';
</script>
```
### Dev Servers / Builders
#### JS
```js
import { extractDominantColors } from 'image-palette-webgpu';
```
#### HTML
```html
<script type="module">
import { extractDominantColors } from 'image-palette-webgpu';
</script>
```
## CDN
### UNPKG
#### JS
```js
import { extractDominantColors } from 'https://unpkg.com/image-palette-webgpu';
```
#### HTML
```html
<script type="module">
import { extractDominantColors } from 'https://unpkg.com/image-palette-webgpu';
</script>
```
### ESM CDN
#### JS
```js
import { extractDominantColors } from 'https://esm.sh/image-palette-webgpu';
```
#### HTML
```html
<script type="module">
import { extractDominantColors } from 'https://esm.sh/image-palette-webgpu';
</script>
```
### Skypack
#### JS
```js
import { extractDominantColors } from 'https://cdn.skypack.dev/image-palette-webgpu';
```
#### HTML
```html
<script type="module">
import { extractDominantColors } from 'https://cdn.skypack.dev/image-palette-webgpu';
</script>
```
# Use
## JS
```js
const image = new Image();
image.src = './image.png';
const colorCount = 5;
const algorithm = 'wu';
await image.decode();
const dominantColors = await extractDominantColors(image, colorCount, algorithm);
console.log(dominantColors); // ['#d65a58', '#c84c52', '#d65a59', '#bb464b', '#e3dbaa']
```