Canvas ImageData setPixel Bitwise OR operator

Example

by Niklas Knaack

JavaScript

var canvas = document.createElement( 'canvas' );
	canvas.width = 100;
	canvas.height = 100;
	
document.body.appendChild( canvas );

var context = canvas.getContext( '2d' );

var imageData = context.getImageData ( 0, 0, 100, 100 );
var data = imageData.data;

var x = 19.123425235;
var y = 45.534534213;
var c = { r:0, g:0, b:0, a:255 };

function setPixel( x, y, c ) {

    var i = ( x + y * imageData.width ) * 4;

    data[ i ] = c.r;
    data[ i + 1 ] = c.g;
    data[ i + 2 ] = c.b;
    data[ i + 3 ] = c.a;

};

setPixel( x | 0, y | 0, c );

context.putImageData( imageData, 0, 0 );