UNPKG

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
[![Published on NPM](https://img.shields.io/npm/v/image-palette-webgpu.svg)](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'] ```