GithubHelp home page GithubHelp logo

anthrax3 / histogram Goto Github PK

View Code? Open in Web Editor NEW

This project forked from component/histogram

0.0 0.0 0.0 4.07 MB

Create JavaScript image histograms with Canvas

Home Page: http://component.github.com/histogram/

Makefile 2.50% HTML 33.00% JavaScript 64.50%

histogram's Introduction

histogram

JavaScript image histograms with Canvas.

js histogram

Installation

$ component install component/histogram

Or use without component:

$ component build --standalone histogram

Example

<!DOCTYPE html>
<html>
<head>
  <title>Histogram</title>
  <style>
    .histogram {
      background: #1a1a1a;
    }
    .histogram .channel {
      opacity: .4;
    }
    .histogram .red {
      color: #dc1e1a;
    }
    .histogram .green {
      color: #12b81c;
    }
    .histogram .blue {
      color: #46a3d6;
    }
  </style>
</head>
<body>
  <canvas width=200 height=120></canvas>
  <script src="build/build.js"></script>

  <script>
    var histogram = require('histogram');
    var canvas = document.querySelector('canvas');

    var img = document.createElement('img');
    img.src = 'your img here';

    histogram(img)
      .smooth(12)
      .draw(canvas);
  </script>
</body>
</html>

Styling

By default the histogram will be completely black, for example the following has only an opacity applied:

Using CSS you can style the canvas histogram however you like, for example the following CSS:

.histogram .channel {
  opacity: .4;
}
.histogram .red {
  color: #dc1e1a;
}
.histogram .green {
  color: #12b81c;
}
.histogram .blue {
  color: #46a3d6;
}

yields:

For the dark theme used in the first image on this page use:

.histogram {
  background: #1a1a1a;
}
.histogram .channel {
  opacity: .4;
}
.histogram .red {
  color: #dc1e1a;
}
.histogram .green {
  color: #12b81c;
}
.histogram .blue {
  color: #46a3d6;
}

Scaling

The histogram's size will adjust to fit the canvas size, so use whatever dimensions you prefer:

API

.smooth([n])

By default no smoothing is applied:

no smoothing

When invoked without arguments (.smooth()) the default kernel of 6 is used:

smoothing enabled

You may also pass any kernel size you wish, here is 20 for example:

larger kernel

License

MIT

histogram's People

Contributors

forbeslindesay avatar tj 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.