当前位置:网站首页>canvas常用原型方法及绘制图片应用
canvas常用原型方法及绘制图片应用
2022-07-28 08:35:00 【绝坊】
绘制线路
绘制三角形
<!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>Document</title>
</head>
<body>
<canvas id="canvans" width="500" height="500"></canvas>
<img src="./img_the_scream.jpg" alt="">
<script>
var canvans = document.querySelector("#canvans")//获取canvans对象
if (canvans.getContext) {
//监测浏览器是否支持canvas
var ctx = canvans.getContext('2d');//获取2D画笔
//绘制封闭三角形
ctx.beginPath();//先抓起笔
ctx.moveTo(100, 100);//一条路径的开始
ctx.lineTo(200, 50);//连
ctx.lineTo(200, 150);//连
ctx.closePath(); //最终第三条边需要闭合
ctx.stroke();//结束绘画
}
</script>
</body>
</html>
注意每次线条绘画都需要ctx.beginPath()抓笔,然后ctx.stroke()放笔
绘制圆形
<!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>Document</title>
</head>
<body>
<canvas id="canvans" width="500" height="500"></canvas>
<img src="./img_the_scream.jpg" alt="">
<script>
var canvans = document.querySelector("#canvans")//获取canvans对象
if (canvans.getContext) {
//监测浏览器是否支持canvas
var ctx = canvans.getContext('2d');//获取2D画笔
//圆形
ctx.beginPath();
ctx.arc(300,300,50,0,2*Math.PI,true)
ctx.stroke();
}
</script>
</body>
</html>
- 画园:arc()
- 画弧线:arc()
绘制图片
需求:假设现在有一个h5海报宣传,但是图片中的二维码是动态的,并且随时生成的。这个时候就要用到canvas的动态图片绘制技术。
<!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>Document</title>
</head>
<body>
<canvas id="canvans" width="500" height="500"></canvas>
<img src="./img_the_scream.jpg" alt="">
<script>
var canvans = document.querySelector("#canvans")//获取canvans对象
if (canvans.getContext) {
//监测浏览器是否支持canvas
var ctx = canvans.getContext('2d');//获取2D画笔
let img = document.querySelector('img')
//绘制图片
img.onload = function(){
ctx.drawImage(img,200,200)
}
}
</script>
</body>
</html>
<!-- ctx.
drawImage()是一个非常实用的原型方法
其他
canvas的绘制技术非常多,例如可以绘制阴影、线性渐变、径向渐变、颜色填充等
边栏推荐
- What content does the new version of network security level protection evaluation report template contain? Where can I find it?
- Review the past and know the new MySQL isolation level
- Kubernetes data persistence scheme
- TXT text file storage
- OpenShift 4 - 使用 VerticalPodAutoscaler 优化应用资源 Request 和 Limit
- Modify virtual machine IP address
- [advanced drawing of single cell] 07. Display of KEGG enrichment results
- 剑指offer
- Sword finger offer
- An entry artifact tensorflowplayground
猜你喜欢

Realize batch data enhancement | use of keras imagedatagenerator

Hyperlink label

2022年起重机司机(限桥式起重机)考试题库及模拟考试

js数组去重,id相同对某值相加合并

NPM and yarn use (official website, installation, command line, uploading your own package, detailed explanation of package version number, updating and uninstalling package, viewing all versions, equ

Get started quickly with flask (I) understand the framework flask, project structure and development environment

Overview of head pose estimation

MDM data quality application description
![Train your own classification [Bao Jiaobao, the data are ready]](/img/bd/08d0fbf0d41bb5ba7c418848ea1a4c.jpg)
Train your own classification [Bao Jiaobao, the data are ready]

12 common design ideas of design for failure
随机推荐
侯捷STL标准库和泛型编程
Machine learning (11) -- time series analysis
【英语考研词汇训练营】Day 15 —— analyst,general,avoid,surveillance,compared
GBase 8a如何使用使用预处理快速插入数据?
2022年安全员-B证考试模拟100题及答案
TXT text file storage
Send a message to the background when closing the page
1299_ Task status and switching test in FreeRTOS
Magic Bracelet-【群论】【Burnside引理】【矩阵快速幂】
Vrrp+mstp configuration details [Huawei ENSP experiment]
Review the past and know the new MySQL isolation level
Sword finger offer
Prometheus TSDB analysis
What are the main uses of digital factory management system
Kubernetes cluster configuration DNS Service
Force deduction question (1) -- sum of two numbers
蓝牙技术|2025年北京充电桩总规模达70万个,聊聊蓝牙与充电桩的不解之缘
Design for failure常见的12种设计思想
[592. Fraction addition and subtraction]
Code management platform SVN deployment practice