canvas 绘制矩形和圆形
canvas绘制有两神方法:
1)、填充(fill)
填充是将图形内部填满.
2)、绘制边框 (stroke)
绘制边框是不把图形内部填满,只是绘制图形的外框.
当我们在绘制图形的时候,首先要设定好绘制的样式,然后我们就可以调用有关的方法进行绘制
fillStyle属性
填充的样式,在这个属性里面设置填入的填充颜色值
strokeStyle属性
图形边框的样式,在这个属性里面设置填入边框的填充颜色
绘制矩形案例:
在body的属性里面,使用onload="draw('canvas' )“语句,调用脚本文件中的draw函数进行图形绘画
画布的创建方法:指定 id , width(画布宽度), height(画布高度)
创建一个画布,长度为600,高度为400
<body onload="draw('canvas')">
<canvas id="canvas" width="600" height="400"></canvas>
</body>
引入一个名为canvas的is脚本,js脚本的语言编码是utf-8
function draw(id){
var canvas = document.getElementById(id);
var context = canvas.getContext('2d'); //getContext() 方法可返回一个对象
context.fillStyle = "green"; // 设置或返回用于填充绘画的颜色、渐变或模式
context.strokeStyle = "#fff"; //图形边框的填充颜色
context.lineWidth = 5; //用宽度为 5 像素的线条来绘制矩形:
context.fillRect(0,0,400,300); // x轴 y轴 宽 和 高 ,绘制“被填充”的矩形
context.strokeRect(50,50,180,120); //绘制矩形(无填充)
context.strokeRect(110,110,180,120);
}
使用filiRect方法和strokeRect方法来填充矩形和绘制矩形的边框
context. fillRect (x,y,width,height)
context.strokeRect (x,y,width,height)
这两种方法的参数都是一样的,x是指拒形的起点横坐标,y是指拒形的纵坐标.坐标的原点是canvas画布的最左上角,
width是指拒形的长度,height是指矩形的高度.
绘制圆形案例:
创建圆形路径时,需要使用图形上下文对像的arc方法。
context.arc (x,y,radius,starAngle,endAngle,anticlockwise)
x是绘制圆形的起点横坐标,y是绘创圆形起点的纵坐标,radius是图形的半径,
starAngle是开始的角度,endAngle是结束的角度·
anticlockwise是否按顺时针方向绘制
绘制半径与圆弧时指定参数为开始弧度与结束弧度,也可以把角度换成弧度
var radius = degrees *Math.Pl/180
这个里面的Math.Pl表示的角度是180度,Math.Pl*2的角度是360度.
function draw(id){
var canvas = document.getElementById(id);
var context = canvas.getContext('2d');
context.fillStyle = "#f1f2f3";
context.fillRect(0,0,400,400);
for(var i=0;i<10;i++){
context.arc(i*25,i*25,i*10,0,Math.PI*2,true);
context.fillStyle = "rgba(255,0,0,0.25)";
context.fill();
}
}
保存文件
function draw(id){
var canvas = document.getElementById(id);
var context = canvas.getContext('2d');
context.fillStyle = "green";
context.fillRect(0,0,400,300);
window.location = canvas.toDataURL('image/png');
}
canvas 绘制矩形和圆形的更多相关文章
- h5学习-canvas绘制矩形、圆形、文字、动画
绘制矩形<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...
- Canvas 绘制矩形,圆形,不规则图形(线条),渐变等图像效果
绘制矩形: getContext("2d") 对象是内建的 HTML5 对象,拥有多种绘制路径.矩形.圆形.字符以及添加图像的方法. fillStyle 方法将其染成红色,fill ...
- html5 canvas绘制矩形和圆形
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- HTML5绘制矩形和圆形并且还有获取在这个图层内的坐标的思路和代码 - feilong_12的专栏 - 博客频道 - CSDN.NET
body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...
- canvas绘制矩形
canvas绘制矩形 方法 fillRect(x, y, width, height) 画一个实心的矩形 clearRect(x, y, width, height) 清除一块儿矩形区域 stroke ...
- canvas 绘制 矩形 圆形
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head> <tit ...
- canvas 绘制矩形
XXX(x,y,width,height) x矩形左上角x坐标 y矩形左上角y坐标 ...
- vue下canvas绘制矩形
起因:根据项目需求本人写了一个绘制矩形的组件.功能:在图片中绘制矩形,根据图片大小进行自适应展示,获取图片矩形坐标.思路:首先定义一个固定大小的DIV,DIV标签中有监测鼠标变化的四个事件moused ...
- canvas绘制线和矩形
###canvas绘制矩形 HTML中的元素canvas只支持一种原生的图形绘制:矩形.所有其他的图形的绘制都至少需要生成一条路径 1.绘制矩形 canvas提供了三种方法绘制矩形: ----> ...
随机推荐
- [Java] java中方法可以重载
一个类中可以定义不止一个构造器,在使用new创建对象时,Java会根据构造器提供的参数来决定构建哪一个构造器,另外在Java中,Java会同时根据方法名和参数列表来决定所要调用的方法,这叫做方法重载( ...
- [SQL]不知道1
表结构,companyid是公司名,productid是产品号,说明每个公司生产多少种产品. companyid productid A A B B B C D D D 要求:取出所有生产的产品包含公 ...
- 1、程序启动原理和UIApplication【转】
一.UIApplication 1.简单介绍 (1)UIApplication对象是应用程序的象征,一个UIApplication对象就代表一个应用程序. (2)每一个应用都有自己的UIApplica ...
- 【转】iOS高级向的十道面试问题
原文:http://onevcat.com/2013/04/ios-interview/ 不管对于招聘和应聘来说,面试都是很重要的一个环节,特别对于开发者来说,面试中的技术问题环节不仅是企业对应聘者技 ...
- JavaScript对象的创建之基于构造方法+原型方式
为了解决原型所带来的问题,此处需要通过组合构造方法和原型来实现对象的创建,将属性在构造方法中定义,将方法在原型中定义.这种有效集合了两者的优点,是目前最为常用的一种方式. function Perso ...
- HDU2176尼姆博弈
HDU2176 http://acm.hdu.edu.cn/showproblem.php?pid=2176 假设有3个数,a[0],a[1],a[2];那么ans=a[0]^a[1]^a[2];若a ...
- Java注解(Annotation)自定义注解入门
要深入学习注解,我们就必须能定义自己的注解,并使用注解,在定义自己的注解之前,我们就必须要了解Java为我们提供的元注解和相关定义注解的语法. 元注解: 元注解的作用就是负责注解其他注解.Java5. ...
- Flex4 自定义分页组件
自己写的Flex4分页组件,去伪存真,只实现基本的分页功能,数据过滤神马的都不应该是分页组件干的活,有呆毛才有真相: [源代码下载] Flex自从转手给Apache后人气急跌,本人也很捉鸡,尽管Apa ...
- com学习(一)GUID 和 接口
话说在 doc(Word) 复合文件中,已经解决了保存 xls(Excel) 数据的问题了.那么,接下来又要解决另一个问题:当 WORD 程序读取复合文件,遇到了 xls 数据的时候,它该如何启动 E ...
- xml 和 json 的区别
JSON(Javascript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析和生成.它基于Javascript Programming Langu ...