color-loader
A webpack loader that extracts the color palette for an image
Installation
npm install --save file-loader color-loader
color-loader
has a peer dependency on file-loader
, so we'll need to make sure we have that installed.
Usage
This loader is designed to be a drop-in replacement for file-loader
. It will output the path to the provided image, along with information about the colors in the image. It features support for JPEG, PNG, GIF, and SVG files.
import image, {color, colors} from 'color-loader!./path/to/image.jpg';
image
is the image path generated by the file loadercolor
is the most dominant color in the imagecolors
is an array of the dominant colors in the image
You can use it in your webpack configuration, too! This means that all images that you import
or require
will always return the colors extracted from the image.
{
module: {
rules: [
{
test: /\.(jpg|png|gif|svg)$/,
use: 'color-loader'
}
]
}
}
Options
color-loader
takes no options, however because it implements file-loader
, you can pass along any options you would normally pass to that loader. More information about file-loader
here.
Example
This image:
Will result in these colors:
- #3a4f25
- #b37a5d
- #78993b
- #839795
- #8c472f
You could use it in a React component like this:
import image, {color} from './example.png';
const Component = () => (
<div style={{
backgroundColor: color, // #3a4f25
backgroundImage: image
}}>
<h1>Hello world!</h1>
</div>
);