Giter Site home page Giter Site logo

rgbaster.js's Introduction

RGBaster

A dead simple javascript library for extracting the dominant color(s) from an image.

Usage

Usage is simple. Create an image (or grab an image URL), then get its dominant color & palette.

var img = document.getElementById('image');
// or
var img = 'http://example.com/path-to-image.jpg'

RGBaster.colors(img, {
  success: function(payload) {
    // You now have the payload.
    console.log(payload.dominant);
    console.log(payload.secondary);
    console.log(payload.palette);
  }
});

Configuration options

The colors function takes an object as optional second parameter, with the following options:

paletteSize

Type: int Default: 10

Maximum number of palette colors to return. Only the top palette colors will be returned.

exclude

Type: array Default: []

RGB colors to exclude when counting colors.
For example to exclude white and black use: [ 'rgb(255,255,255)', 'rgb(0,0,0)' ]

success

Type: function Default: undefined

Function to call after image processing has completed.
The function will receive one payload argument with the following structure:

{
    // {string} dominant rgb color
    dominant:  'rgb(0,0,0)',

    // {string} secondary rgb color
    secondary: 'rgb(0,0,1)',

    // {array} list of colors in the image (limited by paletteSize)
    palette:   [ 'rgb(0,0,1)', 'rgb(0,0,2)' ]
}

Full example

RGBaster.colors(img, {
    // return up to 30 top colors from the palette
    paletteSize: 30,

    // don't count white
    exclude: [ 'rgb(255,255,255)' ],

    // do something when done
    success: function(payload){
        console.log('Dominant color:', payload.dominant);
        console.log('Secondary color:', payload.secondary);
        console.log('Palette:', payload.palette);
    }
})

Browser support

rgbaster.js depends on the following browser functionality:

Check the linked resources above to determine current level of browser support.

Author

twitter/brianmgonzalez
Brian Gonzalez

About

RGBaster was created to modularize a feature of another plugin I built called adaptive backgrounds. Check it out.

License

MIT

rgbaster.js's People

Contributors

briangonzalez avatar buffcode avatar aoushana avatar koenpunt avatar wickynilliams avatar passy avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.