当前位置 : 主页 > 网络编程 > JavaScript >

刮刮乐 刮到60%显示全部

来源:互联网 收集:自由互联 发布时间:2021-06-28
原理:ctx.globalCompositeOperation = "destination-out"; 在源图像外显示目标图像。只有源图像外的目标图像部分会被显示,源图像是透明的。 //在小画板上画画的函数function tapClip(){ var hastouch =
原理:ctx.globalCompositeOperation = "destination-out"; 在源图像外显示目标图像。只有源图像外的目标图像部分会被显示,源图像是透明的。
//在小画板上画画的函数
function tapClip(){
    var hastouch = "ontouchstart" in window ? true:false,
        tapstart = hastouch ? "touchstart":"mousedown",
        tapmove = hastouch ? "touchmove":"mousemove",
        tapend = hastouch ? "touchend":"mouseup";

    ctx.lineCap = "round";
    ctx.lineJoin = "round";
    ctx.lineWidth = a;
    
    //在源图像外显示目标图像。只有源图像外的目标图像部分会被显示,源图像是透明的。
    ctx.globalCompositeOperation = "destination-out";
    
    //touchstart或mousedown
    canvas.addEventListener(tapstart , function(e){
        e.preventDefault();
        ctx.beginPath();
        //touchmove或mousemove
        canvas.addEventListener(tapmove , tapmoveHandler);
        canvas.addEventListener(tapend , function(){
            canvas.removeEventListener(tapmove , tapmoveHandler);
            //获取像素
            var data = ctx.getImageData(0,0,w,h).data;
            for (var i=0,j=0;i
网友评论