1.基础知识

canvas元素绘制图像的时候有两种方法,分别是
context.fill()//填充
context.stroke()//绘制边框
style:在进行图形绘制前,要设置好绘图的样式
context.fillStyle//填充的样式
context.strokeStyle//边框样式
context.lineWidth//图形边框宽度
context.arc(centerx圆心横左边,centery圆心纵坐标,radius半径,startingAngle起始弧度值,endingAngle结束弧度值,anticlockwise='false'顺时针默认false)
2.绘制非填充线段
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title></title>
<link rel="stylesheet" href="http://r01.uzaicdn.com/content/v1/styles/subject.css">
<link rel="stylesheet" href="styles/lianxi.css">
<script src="http://r01.uzaicdn.com/content/v1/scripts/core.js"></script>
<script src="scripts/lianxi.js"></script>
<!--[if lt IE 9]><script src="//r.uzaicdn.com/content/libs/html5shiv.js"></script><![endif]-->
<!--[if IE 6]><script src="//r.uzaicdn.com/content/libs/dd_belatedpng_0.0.8a-min.js" type="text/javascript"></script><script>DD_belatedPNG.fix('.png');</script><![endif]-->
<style type="text/css">
.canvas{border: 1px solid #000;display: block;margin: 0 auto;margin-top: 50px;}
</style>
<script>
window.onload=function(){
function draw(){
var canvas = document.getElementById('canvas');
if (canvas.getContext){
var ctx = canvas.getContext('2d');
canvas.width=300;
canvas.height=300;
ctx.beginPath(); //一个绘画开始
ctx.moveTo(50,50);//线段起点
ctx.lineTo(100,100);//终点1
ctx.lineTo(50,100);//终点2
ctx.lineTo(50,50);//终点3
ctx.lineWidth=5;//边框宽度
ctx.strokeStyle="red"; //边框样式
ctx.closePath(); //一个绘画结束
ctx.stroke();//绘制线段
}else{
alert('当前浏览器不支持,请更换浏览器');
}
}
draw();
}
</script>
<style tyrp="text/css">
canvas{ border: 1px solid black;margin: 0 auto;display: block;}
</style>
</head>
<body>
<canvas id="canvas">当前浏览器不支持,请更换浏览器</canvas>
</body>
</html>
3.绘制填充图形
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title></title>
<link rel="stylesheet" href="http://r01.uzaicdn.com/content/v1/styles/subject.css">
<link rel="stylesheet" href="styles/lianxi.css">
<script src="http://r01.uzaicdn.com/content/v1/scripts/core.js"></script>
<script src="scripts/lianxi.js"></script>
<!--[if lt IE 9]><script src="//r.uzaicdn.com/content/libs/html5shiv.js"></script><![endif]-->
<!--[if IE 6]><script src="//r.uzaicdn.com/content/libs/dd_belatedpng_0.0.8a-min.js" type="text/javascript"></script><script>DD_belatedPNG.fix('.png');</script><![endif]-->
<style type="text/css">
.canvas{border: 1px solid #000;display: block;margin: 0 auto;margin-top: 50px;}
</style>
<script>
window.onload=function(){
function draw(){
var canvas = document.getElementById('canvas');
if (canvas.getContext){
var ctx = canvas.getContext('2d');
canvas.width=300;
canvas.height=300;
ctx.beginPath(); //一个绘画开始
ctx.moveTo(50,50);//线段起点
ctx.lineTo(100,100);//终点1
ctx.lineTo(50,100);//终点2
ctx.lineTo(50,50);//终点3
ctx.fillStyle='red';
ctx.fill();
//边框添加
ctx.lineWidth=5;//边框宽度
ctx.strokeStyle="blue"; //边框样式
ctx.closePath(); //一个绘画结束
ctx.stroke();//绘制线段
}else{
alert('当前浏览器不支持,请更换浏览器');
}
}
draw();
}
</script>
<style tyrp="text/css">
canvas{ border: 1px solid black;margin: 0 auto;display: block;}
</style>
</head>
<body>
<canvas id="canvas">当前浏览器不支持,请更换浏览器</canvas>
</body>
</html>
4.绘制圆弧
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title></title>
<link rel="stylesheet" href="http://r01.uzaicdn.com/content/v1/styles/subject.css">
<link rel="stylesheet" href="styles/lianxi.css">
<script src="http://r01.uzaicdn.com/content/v1/scripts/core.js"></script>
<script src="scripts/lianxi.js"></script>
<!--[if lt IE 9]><script src="//r.uzaicdn.com/content/libs/html5shiv.js"></script><![endif]-->
<!--[if IE 6]><script src="//r.uzaicdn.com/content/libs/dd_belatedpng_0.0.8a-min.js" type="text/javascript"></script><script>DD_belatedPNG.fix('.png');</script><![endif]-->
<style type="text/css">
canvas{border: 1px solid #000;display: block;margin: 0 auto;margin-top: 50px;}
</style>
<script>
window.onload=function(){
function draw(){
var canvas = document.getElementById('canvas');
if (canvas.getContext){
var ctx = canvas.getContext('2d');
canvas.width=800;
canvas.height=800;
ctx.beginPath(); //开始一个新的绘画
ctx.lineWidth=5;//边框宽度
ctx.strokeStyle="red"; //边框样式
ctx.arc(100, 100, 30, 0, 1.5*Math.PI);
ctx.closePath(); //一个绘画结束,如果绘画不是封闭的,就封闭起来
ctx.stroke();//绘制线段
ctx.beginPath(); //开始一个新的绘画
ctx.lineWidth=5;//边框宽度
ctx.strokeStyle="red"; //边框样式
ctx.arc(200, 100, 30, 0, 2*Math.PI);
ctx.closePath(); //一个绘画结束,如果绘画不是封闭的,就封闭起来
ctx.stroke();//绘制线段
ctx.beginPath(); //开始一个新的绘画
ctx.lineWidth=5;//边框宽度
ctx.strokeStyle="red"; //边框样式
ctx.arc(300, 100, 30, 0, 0.5*Math.PI);
ctx.closePath(); //一个绘画结束,如果绘画不是封闭的,就封闭起来
ctx.stroke();//绘制线段
ctx.beginPath(); //开始一个新的绘画
ctx.lineWidth=5;//边框宽度
ctx.strokeStyle="red"; //一个绘画结束,如果绘画不是封闭的,就封闭起来
ctx.arc(400, 100, 30, 0, 0.5*Math.PI,true);//注意:0*PI,0.5*PI,1*PI,1。5*PI,2*PI所占据的位置是固定的
ctx.closePath(); //一个绘画结束
ctx.stroke();//绘制线段
ctx.beginPath(); //开始一个新的绘画
ctx.fillStyle="red"; //边框样式
ctx.arc(500, 100, 30, 0, 1.5*Math.PI);
ctx.closePath(); //一个绘画结束,如果绘画不是封闭的,就封闭起来
ctx.fill();//绘制填充
ctx.beginPath(); //开始一个新的绘画
ctx.lineWidth=5;//边框宽度
ctx.strokeStyle="red"; //边框样式
ctx.arc(600, 100, 30, 0, 1.5*Math.PI);
ctx.stroke();//绘制线段
}else{
alert('当前浏览器不支持,请更换浏览器');
}
}
draw();
}
</script>
</head>
<body>
<canvas id="canvas">当前浏览器不支持,请更换浏览器</canvas>
</body>
</html>
5.绘制矩形
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title></title>
<link rel="stylesheet" href="http://r01.uzaicdn.com/content/v1/styles/subject.css">
<link rel="stylesheet" href="styles/lianxi.css">
<script src="http://r01.uzaicdn.com/content/v1/scripts/core.js"></script>
<script src="scripts/lianxi.js"></script>
<!--[if lt IE 9]><script src="//r.uzaicdn.com/content/libs/html5shiv.js"></script><![endif]-->
<!--[if IE 6]><script src="//r.uzaicdn.com/content/libs/dd_belatedpng_0.0.8a-min.js" type="text/javascript"></script><script>DD_belatedPNG.fix('.png');</script><![endif]-->
<style type="text/css">
canvas{border: 1px solid #000;display: block;margin: 0 auto;margin-top: 50px;}
</style>
<script>
window.onload=function(){
function draw(){
var canvas = document.getElementById('canvas');
if (canvas.getContext){
var ctx = canvas.getContext('2d');
canvas.width=500;
canvas.height=500;
ctx.fillRect(25,25,100,100);//绘制一个填充的矩形
ctx.clearRect(45,45,60,60);//清除指定矩形区域,让清除部分完全透明
ctx.strokeRect(50,50,50,50); //绘制一个矩形的边框
}else{
alert('当前浏览器不支持,请更换浏览器');
}
}
draw();
}
</script>
</head>
<body>
<canvas id="canvas">当前浏览器不支持,请更换浏览器</canvas>
</body>
</html>
6.绘制文本
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title></title>
<link rel="stylesheet" href="http://r01.uzaicdn.com/content/v1/styles/subject.css">
<link rel="stylesheet" href="styles/lianxi.css">
<script src="http://r01.uzaicdn.com/content/v1/scripts/core.js"></script>
<script src="scripts/lianxi.js"></script>
<!--[if lt IE 9]><script src="//r.uzaicdn.com/content/libs/html5shiv.js"></script><![endif]-->
<!--[if IE 6]><script src="//r.uzaicdn.com/content/libs/dd_belatedpng_0.0.8a-min.js" type="text/javascript"></script><script>DD_belatedPNG.fix('.png');</script><![endif]-->
<style type="text/css">
canvas{border: 1px solid #000;display: block;margin: 0 auto;margin-top: 50px;}
</style>
<script>
window.onload=function(){
function draw(){
var canvas = document.getElementById('canvas');
if (canvas.getContext){
var ctx = canvas.getContext('2d');
canvas.width=500;
canvas.height=500;
ctx.font = "48px serif";
ctx.fillText("Hello world", 10, 50);
}else{
alert('当前浏览器不支持,请更换浏览器');
}
}
draw();
}
</script>
</head>
<body>
<canvas id="canvas">当前浏览器不支持,请更换浏览器</canvas>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title></title>
<link rel="stylesheet" href="http://r01.uzaicdn.com/content/v1/styles/subject.css">
<link rel="stylesheet" href="styles/lianxi.css">
<script src="http://r01.uzaicdn.com/content/v1/scripts/core.js"></script>
<script src="scripts/lianxi.js"></script>
<!--[if lt IE 9]><script src="//r.uzaicdn.com/content/libs/html5shiv.js"></script><![endif]-->
<!--[if IE 6]><script src="//r.uzaicdn.com/content/libs/dd_belatedpng_0.0.8a-min.js" type="text/javascript"></script><script>DD_belatedPNG.fix('.png');</script><![endif]-->
<style type="text/css">
canvas{border: 1px solid #000;display: block;margin: 0 auto;margin-top: 50px;}
</style>
<script>
window.onload=function(){
function draw(){
var canvas = document.getElementById('canvas');
if (canvas.getContext){
var ctx = canvas.getContext('2d');
canvas.width=500;
canvas.height=500;
ctx.font = "48px serif";
ctx.strokeText("Hello world", 10, 50);
}else{
alert('当前浏览器不支持,请更换浏览器');
}
}
draw();
}
</script>
</head>
<body>
<canvas id="canvas">当前浏览器不支持,请更换浏览器</canvas>
</body>
</html>
7.图片操作
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title></title>
<link rel="stylesheet" href="http://r01.uzaicdn.com/content/v1/styles/subject.css">
<link rel="stylesheet" href="styles/lianxi.css">
<script src="http://r01.uzaicdn.com/content/v1/scripts/core.js"></script>
<script src="scripts/lianxi.js"></script>
<!--[if lt IE 9]><script src="//r.uzaicdn.com/content/libs/html5shiv.js"></script><![endif]-->
<!--[if IE 6]><script src="//r.uzaicdn.com/content/libs/dd_belatedpng_0.0.8a-min.js" type="text/javascript"></script><script>DD_belatedPNG.fix('.png');</script><![endif]-->
<style type="text/css">
canvas{border: 1px solid #000;display: block;margin: 0 auto;margin-top: 50px;}
</style>
<script>
window.onload=function(){
function draw(){
var canvas = document.getElementById('canvas');
if (canvas.getContext){
var ctx = canvas.getContext('2d');
canvas.width=500;
canvas.height=500;
var img=new Image();
img.src='http://gzdl.cooco.net.cn/files/down/test/imggzdl/312/15812.jpg'
img.onload=function(){
ctx.drawImage(img,0,0);
ctx.beginPath();
ctx.moveTo(30,96);
ctx.lineTo(70,66);
ctx.lineTo(103,76);
ctx.lineTo(170,15);
ctx.stroke();
}
}else{
alert('当前浏览器不支持,请更换浏览器');
}
}
draw();
}
</script>
</head>
<body>
<canvas id="canvas">当前浏览器不支持,请更换浏览器</canvas>
</body>
</html>
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
# canvas
# canvas绘制表盘时钟
# canvas绘制的直线动画
# 微信小程序 Canvas增强组件实例详解及源码分享
# canvas学习之API整理笔记(二)
# canvas学习之API整理笔记(一)
# 微信小程序 wxapp画布 canvas详细介绍
# 浅谈jquery中使用canvas的问题
# js Canvas实现圆形时钟教程
# JS Canvas定时器模拟动态加载动画
# 快速解决Canvas.toDataURL 图片跨域的问题
# JavaScript+html5 canvas实现本地截图教程
# js+canvas绘制五角星的方法
# 不支持
# 有两种
# 顺时针
# script
# lianxi
# css
# src
# libs
# core
# scripts
# http
# stylesheet
# href
# uzaicdn
# styles
# subject
# content
# html5shiv
# px
# solid
相关文章:
网站制作新手教程,新手建设一个网站需要注意些什么?
网站制作公司,橙子建站是合法的吗?
定制建站价位费用解析与套餐推荐全攻略
如何获取开源自助建站系统免费下载链接?
c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】
香港服务器部署网站为何提示未备案?
Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解
详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)
Python lxml的etree和ElementTree有什么区别
如何在景安服务器上快速搭建个人网站?
c# 在高并发场景下,委托和接口调用的性能对比
建站之星后台管理如何实现高效配置?
建站之星安装提示数据库无法连接如何解决?
建站主机SSH密钥生成步骤及常见问题解答?
小型网站建站如何选择虚拟主机?
制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事?
香港服务器租用每月最低只需15元?
北京网站制作的公司有哪些,北京白云观官方网站?
网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些?
定制建站模板如何实现SEO优化与智能系统配置?18字教程
公司网站制作需要多少钱,找人做公司网站需要多少钱?
济南专业网站制作公司,济南信息工程学校怎么样?
家庭建站与云服务器建站,如何选择更优?
云南网站制作公司有哪些,云南最好的招聘网站是哪个?
高端企业智能建站程序:SEO优化与响应式模板定制开发
在线制作视频网站免费,都有哪些好的动漫网站?
制作营销网站公司,淘特是干什么用的?
python的本地网站制作,如何创建本地站点?
如何在腾讯云服务器快速搭建个人网站?
建站之星如何优化SEO以实现高效排名?
北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?
如何快速搭建高效可靠的建站解决方案?
公司网站的制作公司,企业网站制作基本流程有哪些?
济南网站建设制作公司,室内设计网站一般都有哪些功能?
,有什么在线背英语单词效率比较高的网站?
建站之星如何实现PC+手机+微信网站五合一建站?
如何在Golang中指定模块版本_使用go.mod控制版本号
如何快速搭建安全的FTP站点?
如何选择靠谱的建站公司加盟品牌?
网站制作壁纸教程视频,电脑壁纸网站?
建站之星在线客服如何快速接入解答?
香港服务器租用费用高吗?如何避免常见误区?
如何使用Golang table-driven基准测试_多组数据测量函数效率
企业宣传片制作网站有哪些,传媒公司怎么找企业宣传片项目?
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
建站之星官网登录失败?如何快速解决?
如何通过PHP快速构建高效问答网站功能?
专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?
建站之星后台管理:高效配置与模板优化提升用户体验
安徽网站建设与外贸建站服务专业定制方案
*请认真填写需求信息,我们会在24小时内与您取得联系。