canvas绘制简单图形

2023-05-25编程技术26135

canvas绘图篇:

canvas绘制矩形:

 <!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>绘图</title>
<script type="text/javascript" src="Rec.js"></script>
<style type="text/css">
body{
margin: 0;
padding: 0;
}
</style>
</head>
<body onload="draw('canvas');">
<canvas id="canvas" width="500" height="430"></canvas>
</body>
</html>

html Code

 /**
* Created by Administrator on 2016/1/24.
*/
function draw(id){
var canvas = document.getElementById(id);//获取canvas元素
var contest = canvas.getContext('2d'); //获取上下文 contest.fillStyle = "block"; //设置画布的填充样式
contest.strokeStyle="white"; //设置绘制对象的边框颜色 contest.lineWidth =5;//设置画笔宽度 contest.fillRect(0,0,450,300); //fill填充
contest.strokeRect(20,20,150,200); //stroke描边 }

JS Code

     <style type="text/css">
body{
margin:;
padding:;
}
</style>

这段代码保证了画布与浏览器之间无缝契合。

canvas绘制圆形:

html代码不再赘述。

 /**
* Created by Administrator on 2016/1/24.
*/
function draw(id){
var canvas = document.getElementById(id);
var contest = canvas.getContext('2d');
contest.fillStyle = "#f1f2f3";
contest.fillRect(0,0,400,400);
for(var i=1;i<=10;i++) {
contest.beginPath();
contest.arc(i * 25, i * 25, i * 10, 0, Math.PI * 2, true);
contest.closePath();
contest.fillStyle = "rgba(255,0,0,0.25)";
contest.fill();
if(i%2==0){
contest.strokeStyle = "#FF3300";
contest.stroke();
}
}
}

canvas绘制文字:

html代码不再赘述。

 /**
* Created by Administrator on 2016/1/26.
*/
function draw(id){
var canvas = document.getElementById(id);
var contest = canvas.getContext('2d');
contest.fillStyle = "green";
contest.fillRect(0,0,800,300);
contest.fillStyle = "red";
contest.strokeStyle = "block";
contest.font = "bold 40px '汉仪嘟嘟体简','汉仪雪峰体简','华康宝风体繁','微软雅黑'";
contest.textBaseline = "top";
contest.textAlign = "center";
contest.fillText('晨落梦公子',0,0);
contest.strokeText('晨落梦公子',0,40);
}

JS绘图说明:

1、先建立函数,函数为 id。格式:function draw (id) {}

2、定义canvas变量,并获取。格式:var canvas = document.getElementById(id);这里无引号

3、定义canvas变量,并获取。格式:var contest = canvas.getContest('2d');注意这里的单引号

4、绘制图形。无外乎两种:fill(填充)和stroke(描边)。另外有画笔设置。

另外解释相关函数:

绘制矩形时有:

  fillStyle = "颜色值"  颜色值可以是16位进制、RGB(A)或英语;

  同理有strokeStyle = "颜色值";

  fillRect(x,y,width,height)  x:横坐标 y:纵坐标(坐标相对于浏览器的左上角) width:图形宽度 height:图形高度;

  同理有strokRect(x,y,width,heigth);

  另外有画笔宽度设置:linewidth = 数值。

绘制圆形时有:

  设置开始路径,绘图,设置结束路径。

  这里解释 contest.arc(x, y, ridus,sAngle,eAngle,counterclockwise)

      x:圆心的横坐标 y:圆心的纵坐标 ridus:圆的半径

      sAngle:开始角度 eAngle:结束角度

      counterclockwise:true:顺时针绘图;false:逆时针绘图。

  小知识点,颜色值设定时可设置为RGB(A)。格式:fillStyle = "rgba(255,255,255,0.25)"

      依次为红绿蓝,a指的是alpha(透明度) ,数值范围是0~1。

  fill():填充路径。

绘制文字时有:

  字体设置格式:font = "font-weight font-size font-family"(注意中间用空格隔开)

        font-weight可选样式有:normal(正常),bold(粗体),bolder(更粗),lighter(更细),数值100~900(默认是400)。

        font-size可选样式有:数值px。

        font-family可选样式有:本地的字体库。如果写多个格式:'字体1','字体2','字体3',程序执行时会从左到右依次寻找,找到则停止,并用找到作为当前字体。

  另外有:1)contest.textBaseline = "top";:设置文字相对于横坐标轴的位置。

  

      2)contest.textAlign = "center";设置文字相对于纵坐标的位置。

canvas绘制简单图形的相关教程结束。

本文地址:https://www.ufcn.cn/tutorials/2671809.html

如非特殊说明,本站内容均来自于网友自主分享,概不代表本站观点,如有任何问题我们都将在收到反馈后的第一时间进行处理!