canvas绘制美队盾牌

发布时间:2024年01月17日

在这里插入图片描述

查看专栏目录

canvas示例教程100+专栏,提供canvas的基础知识,高级动画,相关应用扩展等信息。canvas作为html的一部分,是图像图标地图可视化的一个重要的基础,学好了canvas,在其他的一些应用上将会起到非常重要的帮助。

如何使用canvas截取视频图像呢?这里其实是监听了video的内容,将video的当前图像在canvas上面显示出来。

语法:

drawImage(image, dx, dy)
drawImage(image, dx, dy, dWidth, dHeight)
drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight)
参数图示
在这里插入图片描述
怎样使用canvas绘制美队盾牌呢?这里面要绘制四个不同大小的同心圆,同时在中间位置绘制一个五角星。

示例效果图

在这里插入图片描述

示例源代码(共90行)

<canvas class="mycanvas" width="500" height="500">
            你的浏览器不支持canvas
        </canvas>
        <script type="text/javascript">
            let mycanvas = document.querySelector('.mycanvas');
            let c = mycanvas.getContext('2d');
            //为了防止样式覆盖,从外往里画
            //画一个大圆
            c.beginPath();
            c.arc(, , , , Math.PI * );
            c.fillStyle = "#e0dedf";
            c.fill();
            c.lineWidth = ;
            c.strokeStyle = 'rgb(196,30,58)';
            c.stroke();

            //画一个小圆
            c.beginPath();
            c.arc(, , , , Math.PI * );
            c.fillStyle = "rgb(0,43,127)";
            c.fill();
            c.lineWidth = ;
            c.strokeStyle = 'rgb(196,30,58)';
            c.stroke();

            //画五角星
            c.beginPath();
            for(let i = ; i <5 ; i++) {
                c.lineTo(Math.cos(( + i * ) /  * Math.PI) *  + , -Math.sin(( + i * ) /  * Math.PI) *  + );
                c.lineTo(Math.cos(( + i * ) /  * Math.PI) *  + , -Math.sin(( + i * ) /  * Math.PI) *  + );
            }
            c.closePath();
            c.fillStyle = "#e0dedf";
            c.fill();
            c.lineWidth = ;
            c.strokeStyle = 'rgb(0,43,127)';
            c.stroke();

canvas基本属性

属性属性属性
canvasfillStylefilter
fontglobalAlphaglobalCompositeOperation
heightlineCaplineDashOffset
lineJoinlineWidthmiterLimit
shadowBlurshadowColorshadowOffsetX
shadowOffsetYstrokeStyletextAlign
textBaselinewidth

canvas基础方法

方法方法方法
arc()arcTo()addColorStop()
beginPath()bezierCurveTo()clearRect()
clip()close()closePath()
createImageData()createLinearGradient()createPattern()
createRadialGradient()drawFocusIfNeeded()drawImage()
ellipse()fill()fillRect()
fillText()getImageData()getLineDash()
isPointInPath()isPointInStroke()lineTo()
measureText()moveTo()putImageData()
quadraticCurveTo()rect()restore()
rotate()save()scale()
setLineDash()setTransform()stroke()
strokeRect()strokeText()transform()
translate()
文章来源:https://blog.csdn.net/cuclife/article/details/135638407
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。