38.canvas

Posted 添砖加码

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了38.canvas相关的知识,希望对你有一定的参考价值。

css

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

}

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\')
            
                drawTJ()
                drawRad()
                drawLine()
                function drawArc(){
                    
                    ctx.lineWidth = 2
                    ctx.fillStyle = \'#008000\'
                    var arc = {
                        x:myCanvas.width/2,
                        y:myCanvas.height/2,
                        r:10
                    }
                    ctx.save()
                    for (var o=0;o<10;o++) {
                        ctx.strokeStyle = \'#FF3366\'
                        ctx.beginPath()
                        ctx.arc(arc.x,arc.y,arc.r*o,getRad(-45),getRad(45))
                        
                        ctx.stroke()
                        
                        ctx.beginPath()
                        ctx.strokeStyle = \'blue\'
                        ctx.arc(arc.x,arc.y,arc.r*o,getRad(-135),getRad(135),true)
                        
                        ctx.stroke()
                        
                        ctx.restore()
                    }
                    
                    
                }
                function drawTJ(){
                    ctx.lineWidth = 2
                    ctx.fillStyle = \'white\'
                    var arc = {
                        x:myCanvas.width/2,
                        y:130,
                        r:100
                    }
                    //画白大圆
                    ctx.save()
                    ctx.strokeStyle = \'#FF3366\'
                    ctx.beginPath()
                    ctx.arc(arc.x,arc.y,arc.r,getRad(-90),getRad(90))
                    
                    ctx.fill()
                    //画黑大圆
                    ctx.fillStyle = \'black\'
                    ctx.beginPath()
                    ctx.strokeStyle = \'blue\'
                    ctx.arc(arc.x,arc.y,arc.r,getRad(-90),getRad(90),true)
                    
                    
                    ctx.fill()
                    
                    //画上面白半圆
                    ctx.fillStyle = \'white\'
                    ctx.beginPath()
                    ctx.strokeStyle = \'blue\'
                    ctx.arc(arc.x,arc.y-(arc.r/2),arc.r/2,getRad(-90),getRad(90),true)
                    ctx.fill()
                    
                    
                    //画下面黑半圆
                    ctx.fillStyle = \'black\'
                    ctx.beginPath()
                    
                    ctx.arc(arc.x,arc.y+(arc.r/2),arc.r/2,getRad(-90),getRad(90))
                    ctx.fill()
                    
                    
                    //上面黑圆点
                    ctx.fillStyle = \'black\'
                    ctx.beginPath()
                    
                    ctx.arc(arc.x,arc.y-(arc.r/2),13,getRad(0),getRad(360))
                    ctx.fill()
                    //下面黑圆点
                    
                    ctx.fillStyle = \'white\'
                    ctx.beginPath()
                    
                    ctx.arc(arc.x,arc.y+(arc.r/2),13,getRad(0),getRad(360))
                    ctx.fill()
                    ctx.restore()
                }
                function drawRad(){
                    ctx.fillStyle = \'#008000\'
                    ctx.strokeStyle = \'#D94A6A\'
                    ctx.lineWidth = 1
                    var arc = {
                        x:myCanvas.width/2,
                        y:390,
                        r:100
                    }
                    ctx.beginPath()
                    ctx.moveTo(arc.x,arc.y)
                    ctx.arc(arc.x,arc.y,arc.r,getRad(-45),getRad(-135),true)
                    ctx.closePath();
                    ctx.fill()
                    
//                    ctx.fillStyle = \'#60CB1B\'
//                    ctx.beginPath()
//                    ctx.moveTo(arc.x,arc.y)
//                    ctx.arc(arc.x,arc.y,arc.r,getRad(-45),getRad(45))
//                    ctx.closePath();
//                    ctx.fill()
//                    
                    ctx.fillStyle = \'#D94A6A\'
                    ctx.beginPath()
                    ctx.moveTo(arc.x,arc.y)
                    ctx.arc(arc.x,arc.y,arc.r,getRad(45),getRad(135))
                    ctx.closePath();
                    ctx.stroke()
                    
//                    ctx.fillStyle = \'#ADD8E6\'
//                    ctx.beginPath()
//                    ctx.moveTo(arc.x,arc.y)
//                    ctx.arc(arc.x,arc.y,arc.r,getRad(135),getRad(-135))
//                    ctx.closePath();
//                    ctx.fill()
                    
                }
                function drawLine(){
                    ctx.setLineDash([5])
                    ctx.fillStyle = \'#008000\'
                    ctx.strokeStyle = \'blueviolet\'
                    ctx.lineWidth = 1
                    var arc = {
                        x:myCanvas.width/2,
                        y:390,
                        r:100
                    }
                    ctx.beginPath()
                    ctx.moveTo(arc.x+0.5,10)
                    ctx.lineTo(arc.x+0.5,myCanvas.height-10)
                    
                    
                    ctx.stroke()
                    ctx.closePath()
                    
                    ctx.beginPath()
                    ctx.moveTo(arc.x+0.5,10)
                    ctx.lineTo(arc.x+0.5,myCanvas.height-10)
                    
                    
                    ctx.stroke()
                    ctx.closePath()
                    
                    ctx.beginPath()
                    ctx.moveTo(10,myCanvas.height/2+0.5)
                    ctx.lineTo(myCanvas.width-10,myCanvas.height/2+0.5)
                    
                    
                    ctx.stroke()
                    ctx.closePath()
                    
                }
                function getRad(deg){
                    return (Math.PI*deg)/180
                }
                function getDeg(rad){
                    return (180*rad)/Math.PI
                }
            },false)
            
        </script>

 

以上是关于38.canvas的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段——CSS选择器

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

片段和活动之间的核心区别是啥?哪些代码可以写成片段?

VSCode自定义代码片段——.vue文件的模板

VSCode自定义代码片段6——CSS选择器

VSCode自定义代码片段——声明函数