canvas实践之简单的写字板效果

利用canvas实现一个简单的写字板,效果图图如下:

写字板效果图

代码片段,其中#test是给canvas设置的id:

<script type="text/javascript">
        
        window.onload=function(){
            var canvas = document.querySelector("#test")
            if(canvas.getContext){
                var ctx = canvas.getContext("2d")
            }
            canvas.onmousedown = function(e){
                e = e || window.event //解决兼容性问题
                if(canvas.setCapture){
                    canvas.setCapture()
                }
                
                ctx.beginPath()
                //画笔开始的地方,注意减去的是canvas的offset
                ctx.moveTo(e.clientX-canvas.offsetLeft,e.clientY-canvas.offsetTop)
                document.onmousemove = function(e){
                    ctx.save()
                    ctx.strokeStyle = "skyblue"
                    ctx.lineWidth = 5
                    e = e || window.event
                    ctx.lineTo(e.clientX-canvas.offsetLeft,e.clientY-canvas.offsetTop)
                    ctx.stroke()
                    ctx.restore()                    
                    
                }
                document.onmouseup = function(){
                    document.onmousemove = document.onmouseup = null
                    if(document.releaseCapture){
                        document.releaseCapture()
                    }
                }
                
                return false  //阻止事件的默认行为
                
            }
            
        }
        
    </script>

猜你喜欢

转载自blog.csdn.net/qq_31207499/article/details/81121350