About
RGraph is a JavaScript charts library based on HTML5 SVG and canvas. RGraph is mature (over 15 years old) and has a wealth of features making it an ideal choice to show charts on your website.

More »

 

Download
Get the latest version of RGraph (version 6.17) from the download page. There's also older versions available, minified files and links to cdnjs.com hosted libraries.

More »

 

License
RGraph can be used for free under the GPL or if that doesn't suit your situation there's an inexpensive (£99) commercial license available.

More »

The ImageData object

The imageData object acts as a container/store for pixel information. The ImageData object has width, height and data properties. The data property is a single dimension array that contains red, blue, green and alpha values. All of the values (including the alpha value) go from 0-255. By default each pixel in the ImageData object is transparent black - so all of the values in the data array will be 0.

After you have updated the values in the ImageData object you can put the changes back onto the canvas with the putImageData function

The ImageData object has three properties - width, height and data.

Arguments to the function

Note that the created objects data array will have four elements for each pixel - red, green, blue and alpha values. So the size of the array will be: width * height * 4

Alternatively, you can pass a pre-existing ImageData and the dimensions of that will be used (but not the pixel data):

An example

<script>
    window.onload = function ()
    {
        var canvas = document.getElementById('cvs');
        var context = canvas.getContext('2d');
        
        // Creates an ImageData object that's 100x100 pixels in size
        var imgData = context.createImageData(100, 100);
    }
</script>

An example using an existing ImageData object

This example shows you that you can also use an existing ImageData object instead of width and height. This creates a new ImageData object with the same amount of pixels as the one that you pass (though it doesn't copy the pixel information).

<script>
    window.onload = function ()
    {
        var canvas = document.getElementById('cvs');
        var context = canvas.getContext('2d');
        
        // Creates an ImageData object that uses the existing imageData objects width and height
        var imgData = context.createImageData(imageData);
    }
</script>