Skip to content

peterekepeter/image-to-gradient

Repository files navigation

image-to-gradient

Downloads pe Month Total Downloads Node CI Node.js Package Known Vulnerabilities

This project allows you to easily create CSS gradients from images. The step count is variable. Any angle is supported. Alpha channel is also processed.

alt tag

Usage

There is one exported function with 3 parameters. You specify the path through the first parameter, you pass in the options in the second parameter and you pass in a callback function in the third parameter;

The example below creates a gradient from an image and generates a dummy html file with the background set to the gradient.

    var imageToGradient = require('image-to-gradient');

    var options = {
        angle:10, // gradient angle in degrees
        steps:64  // number of steps
    }

    imageToGradient('testimage.jpg', options, function(err, cssGradient){
        if (err) throw err;
        var html = `
        <html>
            <head>
                <style>
                    html{
                        width:100%;
                        height:100%;
                        background:${cssGradient};
                    }
                </style>    
            </head>
            <body>
            </body>
        </html>`
        var fs = require('fs');
        fs.writeFile('output.html', html, (err) => {
            if (err) throw err;
            console.log('The file has been saved!');
        });
    });

What can I use it for?

Here is an example how to speed up initial load!

  • Need a background? Create a gradient from an image.
  • Optimise site loading speed by initially replacing images with gradients.
  • Make art! The gradients are beautiful.
  • Need a palette? Create a gradient form an image, use it as a palette.