Naughty Praying Mantis

    histogram

    3.0.3 • Public • Published

    Histogram

    NPM version Build Status Coverage Status Dependency Status

    Provides a histogram data structure from PNG, JPEG or GIF files using canvas. This library works in nodejs and in any canvas supporting browser using histogram.min.js. In the browser histogram will be available in window.histogram You can also use require.js instead, keeping your global scope clean.

    Example usage

    NodeJS

    var histogram = require('histogram');
     
    histogram(fileName || Buffer, function (err, data) {
        console.log(filePath + ' has ' + data.colors.rgba + ' colors');
    });

    Browser with require.js

    require(['path/to/histogram.min.js'], function (err, histogram) {
        histogram(URL || FileReader.result, function (data) {
            console.log(filePath + ' has ' + data.colors.rgba + ' colors');
        });
    });

    Vanilla browser

    <script src="path/to/histogram.min.js"></script>
    <script>
        histogram(URL || FileReader.result, function (err, data) {
            console.log(filePath + ' has ' + data.colors.rgba + ' colors');
        });
    </script> 

    Data structure

    {
        red: new Array(256), // Count of the number of times a value appears in the red channel
        green: new Array(256), // Count of the number of times a value appears in the green channel
        blue: new Array(256), // Count of the number of times a value appears in the blue channel
        alpha: new Array(256), // Count of the number of times a value appears in the alpha channel
     
        colors: {
            rgb: 0, // Number of unique RGB colors
            rgba: 0 // Number of unique RGBA colors
        },
     
        palettes: {
            rgb: [], // Array of unique colors in hex notation
            rgba: [] // Array of unique colors in hexa notation
        },
     
        greyscale: true, // Indicates whether all colors are greyscale or not
        alphachannel: false // Indicates that one or more pixels are translucent
    }

    License

    This software is licensed under the beerware license. Do whatever you want with it. If we meet some day, and you think this stuff is worth it, you can buy me a beer in return.

    Install

    npm i histogram

    DownloadsWeekly Downloads

    412

    Version

    3.0.3

    License

    none

    Unpacked Size

    10.3 kB

    Total Files

    4

    Last publish

    Collaborators

    • munter
    • papandreou