cavans图形绘制(直线、矩形、原型、贝塞尔曲线、渐变背景) 1

简介: cavans图形绘制(直线、矩形、原型、贝塞尔曲线、渐变背景)

一、绘制直线

<!DOCTYPE html>
<html lang="en">
 
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>canvas</title>
</head>
 
<body>
<canvas id="myCanvas" width="200" height="200" style="border:1px solid #753838;">您的浏览器不支持HTML5 canvas</canvas>
</body>
<script>
  <!--  获取绘制元素-->
  var c = document.getElementById("myCanvas");
  //获取cavas绘制上下文
  var ctx = c.getContext("2d");
  //设置直线起点
  //定义开始坐标
  ctx.moveTo(0, 0);
  //定义结束坐标
  ctx.lineTo(200, 200)
  //设开始绘制
  ctx.stroke();
</script>
</html>

二、绘制多条直线(线帽)

<!DOCTYPE html>
<html lang="en">
 
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>canvas</title>
</head>
 
<body>
<canvas id="myCanvas" width="200" height="200" style="border:1px solid #753838;">您的浏览器不支持HTML5 canvas</canvas>
</body>
<script>
  <!--  获取绘制元素-->
  var c = document.getElementById("myCanvas");
  //获取cavas绘制上下文
  var ctx = c.getContext("2d");
  //开始绘制
  ctx.beginPath();
  //设置线宽
  ctx.lineWidth = 10;
  //设置联调端点样式,默认值添加平直边缘
  ctx.lineCap = "butt";
  //设置起点
  ctx.moveTo(20, 20);
  //设置终点
  ctx.lineTo(180, 20)
  //绘制
  ctx.stroke();
 
  ctx.beginPath();
  //设置联调端点样式,添加圆形边缘
  ctx.lineCap = "round";
  ctx.moveTo(20, 40);
  ctx.lineTo(180, 40);
  ctx.stroke();
 
  ctx.beginPath();
  //设置联调端点样式,添加方形边缘
  ctx.lineCap = "square";
  ctx.moveTo(20, 60);
  ctx.lineTo(180, 60);
  ctx.stroke();
</script>
</html>

三、绘制复杂图形

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>canvas</title>
    <script>
        function draw(id) {
            var canvas = document.getElementById(id);
            //获取canvas上下文
            var context = canvas.getContext("2d");
            //设置绘图区域颜色
            context.fillStyle = "#eeeeef";
            //绘制矩形
            context.fillRect(0, 0, 300, 400);
            var dx = 150;
            var dy = 150;
            var s = 100;
            //开始绘图
            context.beginPath();
            //    设置绘图区域颜色
            context.fillStyle = 'rgb(100,255,100)';
            //    设置线条颜色
            context.strokeStyle = "rgb(0,0,100)";
            var x = Math.sin(0);
            var y = Math.cos(0);
            var dig = Math.PI / 15 * 11;
            //不断旋转绘制直线
            for (var i = 0; i < 30; i++) {
                var x = Math.sin(i * dig);
                var y = Math.cos(i * dig);
                context.lineTo(dx + x * s, dy + y * s);
            }
            context.closePath();
            context.fill();
            context.stroke();
        }
    </script>
</head>
<body onload="draw('canvas')">
<canvas id="canvas" width="300" height="400"></canvas>
</body>
</html>

四、绘制矩形

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>canvas</title>
</head>
<body>
<canvas id="myCanvas" width="200" height="200"></canvas>
</body>
<script>
<!--    获取绘制元素-->
    var c=document.getElementById("myCanvas");
    //获取canvas上下文
    var ctx=c.getContext("2d");
    //定义矩形起点和宽高
    ctx.rect(20,20,150,100);
    //绘制矩形
    ctx.stroke();
</script>
</html>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>canvas</title>
</head>
<body>
<canvas id="myCanvas" width="200" height="200"></canvas>
</body>
<script>
    <!--    获取绘制元素-->
    var c = document.getElementById("myCanvas");
    //获取canvas上下文
    var ctx = c.getContext("2d");
    //    设置绘图区域颜色
    ctx.fillStyle = 'rgb(112,206,57)';
    //定义矩形起点和宽高,并绘制
    ctx.fillRect(20, 20, 150, 150);
 
</script>
</html>

五、绘制弧线

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>canvas</title>
</head>
<body>
<canvas id="myCanvas" width="400" height="400"></canvas>
 
</body>
<script>
    <!--    获取绘制元素-->
    var canvas = document.getElementById("myCanvas");
    //获取绘制上下文
    var context = canvas.getContext("2d");
    //开始绘制
    context.beginPath();
    //    设置线条颜色
    context.strokeStyle = 'rgb(206,70,28)';
    //绘制圆,设置圆心坐标,半径40,起始弧度,结束弧度
    context.arc(100, 100, 40, 0, 0.5 * Math.PI);
    context.stroke();
    //开始绘制
    context.beginPath();
    //    设置线条颜色
    context.strokeStyle = 'rgb(236,210,44)';
    //绘制圆,设置圆心坐标,半径40,起始弧度,结束弧度
    context.arc(200, 100, 40, 0, 1 * Math.PI);
    context.stroke();
    //开始绘制
    context.beginPath();
    //    设置线条颜色
    context.strokeStyle = 'rgb(36,152,148)';
    //绘制圆,设置圆心坐标,半径40,起始弧度,结束弧度
    context.arc(100, 200, 40, 0, 1.5 * Math.PI);
    context.stroke();
    //开始绘制
    context.beginPath();
    //    设置线条颜色
    context.strokeStyle = 'rgb(15,18,217)';
    //绘制圆,设置圆心坐标,半径40,起始弧度,结束弧度
    context.arc(200, 200, 40, 0, 2 * Math.PI);
    context.stroke();
</script>
</html>


六、绘制复杂圆形

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>canvas</title>
</head>
<body onload="draw('myCanvas')">
<canvas id="myCanvas" width="300" height="400"></canvas>
</body>
<script>
    function draw(id) {
        var canvas = document.getElementById(id);
        if (canvas == null) {
            return false;
        }
        var ctx = canvas.getContext("2d");
        //设置填充颜色
        ctx.fillStyle="rgb(94,83,83)";
        ctx.fillRect(0,0,600,700);
        for (var i = 0; i < 10; i++) {
            //开始创建路径
            ctx.beginPath();
            //创建路径图形
            ctx.arc(i*25,i*25,i*10,0,Math.PI*2,true);
            //关闭路径
            ctx.closePath();
            //设置填充样式
            ctx.fillStyle="rgba(255,0,0,0.25)";
            //填充
            ctx.fill();
        }
 
    }
 
</script>
</html>

cavans图形绘制(直线、矩形、原型、贝塞尔曲线、渐变背景) 2:https://developer.aliyun.com/article/1547220

相关文章
|
5月前
cavans图形绘制(直线、矩形、原型、贝塞尔曲线、渐变背景) 2
cavans图形绘制(直线、矩形、原型、贝塞尔曲线、渐变背景) 2
|
23天前
ThreeJs绘制圆柱体
这篇文章介绍了在Three.js中绘制圆柱体的方法,包括创建圆柱体几何体、设置材质以及将其正确放置在三维场景中的技巧。
30 0
ThreeJs绘制圆柱体
|
6月前
|
Python
绘制矩形
【5月更文挑战第11天】绘制矩形。
43 1
|
5月前
Qt绘图(线条、椭圆、矩形、图片滚动)
Qt绘图(线条、椭圆、矩形、图片滚动)
282 3
|
4月前
|
前端开发 JavaScript
canvas系列教程01——直线、三角形、多边形、矩形、调色板
canvas系列教程01——直线、三角形、多边形、矩形、调色板
87 0
|
4月前
|
前端开发
canvas系列教程02——圆、弧线、圆角矩形、曲线(气泡、心形、N叶草)、扇形
canvas系列教程02——圆、弧线、圆角矩形、曲线(气泡、心形、N叶草)、扇形
36 0
|
6月前
|
计算机视觉
OpenCV(十三):图像中绘制直线、圆形、椭圆形、矩形、多边形和文字
OpenCV(十三):图像中绘制直线、圆形、椭圆形、矩形、多边形和文字
82 0
|
计算机视觉
五、OpenCV绘制线、矩形、圆等基本几何形状
通过javaOpenCV中的Imgproc函数进行简单几何图形的绘制
130 0
五、OpenCV绘制线、矩形、圆等基本几何形状
|
C# 图形学
C#之深入理解GDI+绘制圆弧及圆角矩形等比缩放的绘制
GDI+中对于圆弧的绘制,是以给定的长方形(Rectangle`结构)为边界绘制的椭圆的一部分形成的圆弧。绘制的圆弧的中心为长方形内切椭圆的圆心(如果是正方形,则正方形的...
595 0
C#之深入理解GDI+绘制圆弧及圆角矩形等比缩放的绘制
|
前端开发 JavaScript 数据可视化
用Canvas实现简单画图(线、三角形、矩形、圆)
👋因为在B站看到一个小demo是基于canvas写的,非常喜欢,然后上掘金大数据又给我推了 《Canvas 从入门到劝朋友放弃(图解版)》,就像上手一下canvas,本来不想写笔记的,因为《Canvas 从入门到劝朋友放弃(图解版)》自己看了一下挺全的,但本着输入要有输出,所以就有了这篇文章
243 0