Dot size: count:
<!DOCTYPE html> <html> <head> <script type="text/javascript" src="canvasClass2.js"> </script> </head> <body> <h1>Random Dots</h1> <h3>Or a Very Bad Automated <a href="https://en.wikipedia.org/wiki/The_Starry_Night">van Gogh</a></h3> <script> var canvas1 = new MyCanvas(300, 300); canvas1.Redraw(); </script> <p> Dot size: <input type="text" name="Dot Size" maxLength = "3" size = "3" id="DotSize", onchange="canvas1.ChangeDot('DotSize')"> count: <input type="text" name="dot Count" maxLength = "5" size = "5" id="DotCount", onchange="canvas1.ChangeCount('DotCount')"> <p> <button type="button" id="Redraw" onclick="canvas1.Redraw()">Redraw</button> </body> </html>
function MyCanvas(width, height) { if (width == undefined || width < 0) { width = 300; } if (height == undefined || height < 0) { height = 300; } var canvas = document.createElement('canvas') canvas.height = height; canvas.width = width; // add it to the document document.body.appendChild(canvas); // save some info as local values this.width = width; this.height = height; this.ctx = canvas.getContext("2d"); this.dotSize = 1; this.dotCount = 100; return this; } MyCanvas.prototype = { ChangeDot: function(sizeID) { var sizeNode = document.getElementById(sizeID); var size = parseInt(sizeNode.value); if (size > 0 ) { this.dotSize = size; this.Redraw(); } }, ChangeCount: function(countID) { var countNode = document.getElementById(countID); var count = parseInt(countNode.value); if (count > 1 ) { this.dotCount = count; this.Redraw(); } }, Redraw: function() { var i; var x,y; var r,g,b; var color; this.ctx.fillStyle="#cccccc"; this.ctx.fillRect(0,0,this.width,this.height); for(i=0;i<this.dotCount;i++) { r = Math.floor(Math.random()*255); g = Math.floor(Math.random()*255); b = Math.floor(Math.random()*255); color = "rgb("+r+","+g+","+b+")"; this.ctx.fillStyle = color; x = Math.random()*this.width; y = Math.random()*this.height; this.ctx.fillRect(x, y, this.dotSize, this.dotSize); } } };