Ответы пользователя по тегу Canvas
  • Можно ли "стереть" область в канвасе, так чтобы в бекграунде была видна страница?

    itspers
    @itspers
    Слишком мало jquery)

    Выкинул джейквери, убрал документреди, добавил ресайс канваса, чутка поправил чтоб в правильном месте рисовало - потом посмотрел на исходный код - вроде и так должно было работать.
    Так что хз почему не работало, но в любом случае:
    jsfiddle.net/itspers/Sjcch/3

    var canvas_down = false;  
    
    var canvas = document.getElementById('area');
    var ctx = canvas.getContext("2d");
    
    //resize to be sure that pixels == width
    window.addEventListener('resize', resizeCanvas, false);
    function resizeCanvas() {
        canvas.width = window.innerWidth;
        canvas.height = window.innerHeight;   
    }
    resizeCanvas();
    
    
    ctx.fillStyle = "rgba(255,255,255, 0.9)";
    ctx.fillRect(0, 0, $("#area").width(),$("#area").height()); 
    
    canvas.addEventListener('mousedown', function (e) {
        canvas_down = true;    
    }, false);
    
    canvas.addEventListener('mouseup', function (e) {
        canvas_down = false;    
    }, false);
    
    canvas.addEventListener('mousemove', function (e) {
        if (canvas_down)
            eraser(e, 25);    
    }, false);
    
       
    
    function eraser(e, radius) {
    
        ctx.beginPath();
        var x2 = e.pageX - (radius/2);            
        var y2 = e.pageY- (radius/2);    
        ctx.clearRect(x2, y2, radius, radius);             
        ctx.closePath();
    
    }
    Ответ написан