zoukankan      html  css  js  c++  java
  • Html5 之Canvas [画布]

    编写代码

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
    </head>
    <body>
        <script>
            // 填充
            function bbs() {
                let canvas = document.getElementById('canvas');
                let canvastxt=canvas.getContext('2d');
                canvastxt.fillStyle="#ffff00";
                canvastxt.fillRect(0,0,123,645);
            }
            // 填充画线
            function bbs1() {
                let canvas = document.getElementById('canvas');
                let ctx=canvas.getContext('2d');
                ctx.beginPath();
                ctx.moveTo(0,0);
                ctx.lineTo(200,100);
                ctx.closePath();
                ctx.stroke();
            }
            // 画圆
            function bbs2(){
                let canvas = document.getElementById('canvas');
                let ctx=canvas.getContext('2d');
                ctx.beginPath();
                ctx.arc(295,100,40,0,2*Math.PI);
                ctx.closePath();
                ctx.stroke();
                // ctx.save();
            }
            // 绘制文本
            function bbs3(){
                let canvas = document.getElementById('canvas');
                let ctx = canvas.getContext('2d');
                ctx.font = '30px Vladimir Script';
                ctx.fillText("hello word",50,100);
            }
            function bbs4(){
                let canvas = document.getElementById('canvas');
                let ctx = canvas.getContext('2d');
                ctx.font = '50px Segoe Script ';
                ctx.strokeText("hello word",150,200);
            }
            //渐变
            function bbs5(){
                let canvas = document.getElementById('canvas');
                let ctx = canvas.getContext('2d');
                let grd=ctx.createLinearGradient(0,0,550,600);
                grd.addColorStop(0,"red");
                grd.addColorStop(1,"white");
                ctx.fillStyle=grd;
                ctx.fillRect(10,10,600,675)
            }
            function bbs6(){
                let canvas = document.getElementById('canvas');
                let ctx = canvas.getContext('2d');
                let grd=ctx.createLinearGradient(175,50,5,190,60,100);
                grd.addColorStop(0,"red");
                grd.addColorStop(1,"white");
                ctx.fillStyle=grd;
                ctx.fillRect(100,10,250,180)
            }
            // 图像画布
            function bbs7(){
                let canvas = document.getElementById('canvas');
                let ctx = canvas.getContext('2d');
                let img = document.getElementById("scream");
                ctx.drawImage(img, 10, 10);
            }
            // 清除
            function bbs8(){
                //方法1
                // let canvas=document.getElementById("canvas").innerHTML=' ';
    
                //方法2
                let canvas = document.getElementById("canvas");
                let ctx = canvas.getContext("2d");
                ctx.clearRect(0, 0, 800, 400);
                
    
                // let canvas = document.getElementById("canvas");
                // let ctx = canvas.getContext("2d");
                // ctx.height = ctx.height;
    
                // ctx.clearRect(canvas.width,canvas.height);
    
                // obj.innerHTML='';
            }
            //保存
            function bbs9(){
    
                let canvas = document.getElementById('canvas');
                let ctx = canvas.getContext('2d');
                let a =document.createElement('a');
                a.href=canvas.toDataURL();
                a.download="save";
                a.click();
    
    
                // canvas.width=imgWidth;
                // canvas.height=imgHeight;
                // ctx.drawImage(img,0,0,imgWidth,imgHeight);
                // dataUrl=canvas.toDataURL(type);
                // console.log(dataUrl);
                // callback && callback(dataUrl)
                // return dataUrl;
                // let a=document.captureEvents("a");
    
    
            }
    
    
    
        </script>
        <h1>小向同学</h1>
    
        <canvas id="canvas" width="800" height="400" style="border:1px solid #000000"></canvas>
        <img id="scream" src="img/img2.jpg" alt="the quick" width="72" height="72"></img>
        <br>
        <button id="btn" onclick="bbs()">填充</button>
        <button id="btn1" onclick="bbs1()">填充画线</button>
        <button id="btn2" onclick="bbs2()">画圆</button>
        <button id="btn3" onclick="bbs3()">绘制文本-实心</button>
        <button id="btn4" onclick="bbs4()">绘制文本-空心</button>
        <button id="btn5" onclick="bbs5()">线性渐变</button>
        <button id="btn6" onclick="bbs6()">圆形渐变</button>
        <button id="btn7" onclick="bbs7()">图像画布</button>
        <button id="btn8" onclick="bbs8()">清除</button>
        <button id="btn9" onclick="bbs9()">保存</button>
        
    </body>
    </html>
    

    运行结果



  • 相关阅读:
    函数与导数部分的题型梳理
    构造函数习题1
    破解构造函数问题
    函数的值域
    函数的定义域
    高三数学微课堂
    Redux Todos Example
    Linux下查看Nginx安装目录、版本号信息及当前运行的配置文件
    antd的Tree控件实现点击展开功能
    Redux Counter example
  • 原文地址:https://www.cnblogs.com/d534/p/15147300.html
Copyright © 2011-2022 走看看