<canvas width="900" height="800"></canvas>
<script>
var pantalla = document.querySelector("canvas");
var pincel = pantalla.getContext("2d");
var i;
var j;
var radio = 15;
var puedoDibujar = false;
var marcadorRectangulo = 8;
var marcadorCirculo = 0;
var color = ["red","green","blue","pink","orange","lightgrey","lightblue","black","white"];
dibujarRectangulo(0,0,900,800,8);
paletaColores();
paletaColoresCanvas();
pantalla.onmousedown = habilitarDibujar;
pantalla.onmouseup = deshabilitarDibujar;
pantalla.onmousemove = dibujarPunto;
pantalla.oncontextmenu = limpiarPaleta;
pantalla.onclick = cambiarColor;
function paletaColores(){
for (j=0;j<color.length;j++){
dibujarRectangulo(j*50,0,50,50,j);
}
}
function paletaColoresCanvas(){
for (j=0;j<color.length;j++){
dibujarRectangulo(j*50,750,50,50,j);
}
}
function limpiarPaleta(){
dibujarRectangulo(0,0,900,800,marcadorRectangulo);
paletaColores();
paletaColoresCanvas();
return false;
}
function dibujarRectangulo(x,y,w,h,marcadorRectangulo){
pincel.fillStyle = color[marcadorRectangulo];
pincel.strokeStyle = "black";
pincel.fillRect(x,y,w,h);
pincel.strokeRect(x,y,w,h);
}
function dibujarCirculo(x,y){
pincel.fillStyle = color[marcadorCirculo];
pincel.beginPath();
pincel.arc(x,y,radio,0,2*Math.PI);
pincel.fill();
}
function dibujarPunto(evento){
if(puedoDibujar){
var x = evento.pageX - pantalla.offsetLeft;
var y = evento.pageY - pantalla.offsetTop;
dibujarCirculo(x,y);
}
}
function habilitarDibujar(){
puedoDibujar=true;
}
function deshabilitarDibujar(){
puedoDibujar=false;
}
function cambiarColor(evento){
x = evento.pageX - pantalla.offsetLeft;
y = evento.pageY - pantalla.offsetTop;
for (i=0;i<color.length;i++){
if ((x > (i*50))&&
(x < (i*50 + 50))&&
(y > 0)&&
(y < 60)){
marcadorCirculo = i;
paletaColores();
paletaColoresCanvas();
}
if ((x > (i*50))&&
(x < (i*50 + 50))&&
(y > 740)&&
(y < 800)){
marcadorRectangulo = i;
limpiarPaleta();
}
}
}
</script>