程序员书籍笔记 程序员书籍笔记
  • HTML
  • CSS
  • JavaScript
  • 前端知识
  • Vue
  • MarkDown
  • git
  • Node.js
  • Linux
  • 51单片机
  • 四级
  • 第一学期课程
  • 操作系统
  • 计算机网络
  • 数据结构
  • 计算机组成原理
  • HTML5
  • Electron
  • 日记便签
  • 前端导航
GitHub (opens new window)
  • HTML
  • CSS
  • JavaScript
  • 前端知识
  • Vue
  • MarkDown
  • git
  • Node.js
  • Linux
  • 51单片机
  • 四级
  • 第一学期课程
  • 操作系统
  • 计算机网络
  • 数据结构
  • 计算机组成原理
  • HTML5
  • Electron
  • 日记便签
  • 前端导航
GitHub (opens new window)
  • HTML5

    • 绘制
      • Canvas元素
      • 绘制线条
      • 绘制图形
        • classPath()
      • 绘制颜色
        • beginPath()
      • 绘制文字
        • 文字对齐
        • 图片另存为
      • 绘制API
  • MDN

  • Electron

  • blog

  • RK笔记

  • Js高级程序设计

  • 书籍笔记

  • 扩展
  • HTML5
yuadh
2022-02-03
目录

绘制

# Canvas元素

# 绘制线条

Canvas 元素作为 HTML5 标准的一部分,允许你通过脚本动态渲染图像

代码

var cvs = document.getElementById('id');
//获取工具集
var cxt = cvs.getContext('2d');
//定位开始点
cxt.moveTo(30,30);
cxt.lineTo(90,30);
//描点
cxt.stroke();
1
2
3
4
5
6
7
8
  • closePath();闭合点

# 绘制图形

绘制三角形

var cvs = document.getElementById('id');
//获取工具集
var cxt = cvs.getContext('2d');
//定位开始点
cxt.moveTo(30,30);
cxt.lineTo(90,30);
cxt.lineTo(50,50);
cxt.closePath();
//描点
cxt.stroke();
1
2
3
4
5
6
7
8
9
10

# classPath()

闭合路劲绘制

# 绘制颜色

颜色设置

cxt.strokeStyle = color

cxt.fillStyle = color

cxt.strokeStyle = red;
1

像素设置

cxt.lineWidth = num

cxt.lineWidth = 12px;
1

# beginPath()

开启一条新路径

可以单独的绘制不同颜色的线条

绘制不同颜色线条的三角形

	  var cvs = document.getElementById('id');
	  //获取工具集
	  var cxt = cvs.getContext('2d');
	   //设置绘制图形的颜色
      cxt.strokeStyle='red';
      //定位一个起始点
      cxt.moveTo(50,50);
      //绘制第二个点
      cxt.lineTo(150,50)
      //绘制线条
      cxt.stroke()
      //重置当前路径
      cxt.beginPath();
 	  //设置绘制图形的颜色
      cxt.strokeStyle='blue';
      //设置绘制第二条线起始点
      cxt.moveTo(150,50);
      //绘制第二个点
      cxt.lineTo(80,100)
      //绘制线条
      cxt.stroke()
      //重置当前路径
      cxt.beginPath();

      //设置绘制图形的颜色
      cxt.strokeStyle='green';
      //设置绘制第二条线起始点
      cxt.moveTo(80,100);
      //返回原始点
      cxt.lineTo(50,50)
      //绘制线条
      cxt.stroke()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

# 绘制文字

1.设置文字样式

cxt.font = '字体属性'

cxt.font = 'solid 32px sans-serif'
1

2.字体绘制

//1.填充式
cxt.fillText(text,x,y,maxWidth);
//2.描边式
cxt.strokeText(text,x,y,maxWidth);
1
2
3
4

# 文字对齐

//设置文本内容水平对齐方式
context.textAlign='水平方位值' //center|left|right
//设置文本内容垂直对齐方式
context.textBaseline='垂直方位值' //top|middle|bottom
1
2
3
4

# 图片另存为

//当前绘制内容存为图片
context.toDataURL(type, encoderOptions);//image/png图片格式,0到1区间图片质量
//使用
var imgUrl = cvs.toDataURL('./IMG',1);
1
2
3
4

# 绘制API

  • 绘制矩形

    //绘制矩形的路径
    context.rect(x,y,width,height);
    //绘制无填充的矩形
    context.strokeRect(x,y,width,height);
    //绘制填充的矩形
    context.fillRect(x,y,width,height);
    //清空指定矩形内像素
    context.clearRect(x,y,width,height);
    
    1
    2
    3
    4
    5
    6
    7
    8
  • 绘制有弧度的圆形

    //在指定位置绘制一个圆形
    context.arc(x,y,r,sAngle,eAngle,clockwise);//圆心,开始度,结束度,总绘制度
    
    1
    2
  • 绘制不同大小的图片

    //在画布上绘制固定坐标的图像
    context.drawImage(img,x,y);
    //在画布上绘制不仅固定坐标,且规定图像的宽度和高度图像
    context.drawImage(img,x,y,width,height);
    //在画布上剪切图像,并在画布上绘制被剪切的部分
    context.drawImage(img,sx,sy,swidth,sheight,x,y,width,height);
    //(参数为,原图片的裁剪点和需要裁剪打宽高,放置画布的坐标点和图片宽高)
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
编辑 (opens new window)
上次更新: 2023/02/07, 14:51:48
语术

语术→

Theme by Vdoing | Copyright © 2021-2023 yuadh
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×