zoukankan      html  css  js  c++  java
  • canvas画布

    canvas(位图,像素图)

    html5中提供了强大的图形处理功能canvas画布,但是不能使用css设置样式宽高,因为它是默认的300x150的画布,样式做伸缩,css设置它会以默认的样式等比放大/缩小整个画布

    ​ canvas 画布步骤

    ​ 1.获取canvas 元素

    ​ 2.搭建canvas绘制环境(所有的绘制行为都是在这个环境下进行)

    ​ 3.在内存绘制(仅仅在内存中)

    ​ 4.绘制到页面上(调用stroke方法)

    <canvas id="myCanvas" width="200" height="200">
        您的浏览器版本过低,请更新浏览器
    </canvas>
    // 获取canvas元素
    var canvas = document.getElementById("myCanvas")
    // 搭建canvas画布的绘制环境
    var ctx = canvas.getContext("2d");

    样式

    注意点:

    如果使用了fillStyle来填充颜色,那么相对应的fillRect(x,y,w,h)来填充样式,fill()绘制
    如果使用了strokeStyle来描边样式,那么相对应的strokeRect(x, y, w, h)来描绘,stroke()绘制
    画一条线
     //路径本身不可见,必须用于描边,填充,裁切
         ctx.moveTo(100,400);    // 起点坐标
            ctx.lineTo(300,400);    // 终点坐标
            // 绘制到页面
            ctx.stroke();

    画圆
    ctx.arc(300,300,50,0,2*Math.PI,true)
    // 参数1 参数2    表示圆心坐标
    // 参数3    表示圆的半径
    // 参数4    表示圆的起始角度
    // 参数5    表示圆结束的角度
    // 参数6    规定圆是沿顺时针还是逆时针false(1) true(0)是顺时针
    ctx.stroke();

    重绘和闭合路径
    // // beginPath方法 程序运行遇到beginPath时 会在内存中将之前的路径全部清空 重新绘制
    ctx.beginPath();
    // closePath方法就是用来闭合路径的
    ctx.closePath();
    填充和描边
    ctx.arc(300,300,50,0,2*Math.PI,true)
    ctx.lineWidth = 5; //宽度
    ctx.strokeStyle = "red"    // 设置描边颜色
    ctx.stroke()    // 描边
    ctx.fillStyle = "#0f0" // 设置填充颜色
    ctx.fill();     // 填充

    三角形

    ctx.beginPath();
    ctx.moveTo(0,0);
    ctx.lineTo(100,100)
    ctx.lineTo(100,200)
    ctx.closePath();
    ctx.stroke();

    矩形
    ctx.strokeRect(100,100,200,200);
    ctx.stroke();
    // // strokeRect 四个参数
    // // 参数1 参数2      表示矩形左上角坐标
    // // 参数3 参数4 

    绘制矩形圆角

    <style>
            body {
                text-align: center;
            }
            
            canvas {
                background-color: bisque;
            }
        </style>
    </head>
    
    <body>
        <canvas width="800" height="600"></canvas>
        <script>
            // arcTo  绘制圆角
            // 参数一、二   x,y坐标
            // 参数三、四    代表方向,也就是第二个坐标点
            // 参数五   圆角
            var canvas = document.getElementsByTagName('canvas')[0];
            var ctx = canvas.getContext('2d');
            ctx.beginPath();
            ctx.moveTo(50 + 10, 20);
            ctx.arcTo(300, 20, 300, 400, 10);
            ctx.arcTo(300, 400, 50, 400, 10);
            ctx.arcTo(50, 400, 50, 20, 10);
            ctx.arcTo(50, 20, 300, 20, 10);
            ctx.stroke();
        </script>

    贝赛尔曲线

    图片的绘制

  • 相关阅读:
    第 1 章 Java 设计模式介绍
    Java 随心笔记1
    在Editplus中配置java编译(javac)和运行(java)的方法
    RabbitMQ/JAVA 客户端连接测试
    CentOS上的RabbitMQ安装
    AMQP与RabbitMQ简介
    Mongodb学习教程汇总
    selenium+python之iframe学习笔记
    selenium 上传文件,非input标签,安装pyuserinput
    selenium+python之元素定位的八种方法
  • 原文地址:https://www.cnblogs.com/zycs/p/13735218.html
Copyright © 2011-2022 走看看