40.canvas drawReact

css

*{
     margin: 0;
     padding: 0;
     margin-top: 10vh;
}
body{
     text-align: center;
}
canvas{
     margin: 0 auto;
     border: 1px solid #CCCCCC;
}

js

<script type="text/javascript">
            window.addEventListener('load',function(){
                var canvas = document.createElement('canvas')
                document.body.appendChild(canvas)
                canvas.id = 'myCanvas'
                canvas.width = 600;
                canvas.height= 600;
                var myCanvas = document.getElementById('myCanvas')
                
                //检测浏览器是否支持canvas属性
                if(!myCanvas||!myCanvas.getContext){
                    return
                }
                var ctx = myCanvas.getContext('2d')
                $$drawRect()
                useReact()
                useStokeRect()
                function $$drawRect(){
//                    ctx.setLineDash([25,5,5,5])//线段间隔长度
                    ctx.lineWidth = 2
                    ctx.fillStyle = '#F08080'
                    ctx.strokeStyle = '#34C2E3'
//                    ctx.lineCap = 'butt'//线段终起点 'butt' 'round' 'square'
                    ctx.lineJoin = 'round'//线段的转折点 'round' 'bevel' 'miter'

                    ctx.beginPath()
                    ctx.moveTo(30,30)
                    ctx.lineTo(150,30)
                    ctx.lineTo(150,150)
                    ctx.lineTo(30,150)
                    
                    ctx.closePath()
//                    ctx.stroke()//绘制边框图像
                    ctx.fill()//填充
                    
                    ctx.beginPath()
                    ctx.moveTo(160,30)
                    ctx.lineTo(280,30)
                    ctx.lineTo(280,150)
                    ctx.lineTo(160,150)
                    
                    ctx.closePath()
                    ctx.stroke()//绘制边框图像
                    
                }
                function useReact(){
                    ctx.strokeStyle = '#FF3366'
                    ctx.lineWidth = 2
                    ctx.fillStyle = '#008000'
                    ctx.beginPath()
                    ctx.rect(30,160,120,120)
                    ctx.stroke()
                    
                    ctx.beginPath()
                    ctx.rect(160,160,120,120)
                    ctx.fill()
                }
                function useStokeRect(){
                    ctx.fillStyle = '#008000'
                    ctx.fillRect(30,290,120,120)
                    ctx.lineWidth = 2
                    ctx.strokeStyle = '#33EE66'
                    ctx.strokeRect(160,290,120,120)
                }
            },false)
            
        </script>
原文地址:https://www.cnblogs.com/famLiu/p/7417424.html