canvas介绍(画布)
canvas(画布)主要是位图 svg(矢量图)
canvas标签,必须要写的3个属性 id width height
为什么不再style中设置width和height呢?
因为这设置width和height话会有位移差;
位移差:在画布里面的元素有偏差;
js中每次使用canvas,都要设置一个绘图环境,然后会得到一个对象,然后对其进行操作;
var c=document.getElementById("") canvas标签的id值;
var d=c.getContext("2d") 设置绘图属性;
然后得到d这个对象,就可以对其进行操作元素里面的属性和方法;
方法和属性(带()的是方法,不带的是属性):
fillRect():绘制一个填充方块,默认颜色是黑色; 参数:x,y,w,h (坐标和宽高)
fillStyle:填充颜色 属性值:想要的颜色;
strokeRect():绘制边框的方框; (如果绘制边框的话,会有2px的偏差,所以设置坐标的话需要在原有的基础上加上0.5),参数同fillRect()
lineWidth:边框粗细;
strokeStyle:线条颜色;
lineJoin:边框圆角 属性值:round 圆,
lineCap:线条圆角;
绘制线条
moveTo():绘制线段的起点 参数 x,y 坐标位置;
lineTo():绘制线段的领点 参数 x,y 坐标位置 ; (最后一个lineTo就代表终点)
线条只能有一个moveTo(),但却可以有很多lineTo()
stroke() 绘制线段;
beginPath 开始路径 必须要写对应的关闭路径
closePath 关闭路径
两者同时出现,将绘制路径闭合,起始点和结尾点,首尾相连;
rect() 绘制方块,及不带填充色和线框;
fill() 填充颜色;
clearRect(x,y,width,height) 清除矩形区域
save() restore() 这两个方法成对出现,中间的属性样式,之影响内部,不影响外部;
画圆:
arc():参数(x,y,半径,开始弧度,结束弧度,时针方向);
x,y坐标 半径,圆的大小, 开始弧度,一般都是0,结束弧度,一般都是 (0-360)*Math.PI/180, 时针方向,true 逆时针,false 顺时针;
translate() 平移,画布大小位置不变,起始坐标变了 参数 x,y
旋转:rotate() 同translate原理;
需注意一点,需要先通过 translate() 确定起始坐标点,在来操作rotate会比较好
缩放:scale(0.5,0.5) 画布缩放,就是将画布向后移动,跟人的视距就远了,近大远小;
画布中插入图片;drawImage()
var img=new Image()
img.src="图片路径"
img.onload=function(){
d.drawImage(img,x,y,w,h) d就是画布对象,img图片对象,坐标宽高,drawImage()在画布中插入图片
}
插入文字:
strokeText() 插入的文字带边框 参数: "输入的内容" , x , y (坐标)
fillText() 不带边框 参数同strokeText()
textAlign:相对字体的起始点,水平居中
textBaseline:移到字体的起始点,垂直居中
font:字体大小和字形
canvas介绍(画布)的更多相关文章
- HTML5 Canvas(画布)实战编程初级篇:基本介绍和基础画布元素
欢迎大家阅读HTML5 Canvas(画布)实战编程初级篇系列,在这个系列中,我们将介绍最简单的HTML5画布编程.包括: 画布元素 绘制直线 绘制曲线 绘制路径 绘制图形 绘制颜色,渐变和图案 绘制 ...
- canvas介绍和用途
canvas介绍和用途 canvas(画布)主要是位图 svg(矢量图) canvas标签,必须要写的3个属性 id width height 为什么不在style中设置width和height呢? ...
- Android绘图基础Paint和Canvas介绍-android学习之旅(六十一)
canvas介绍 Paint类介绍 代码示例 效果图
- 安卓自定义View进阶-Canvas之画布操作 转载
安卓自定义View进阶-Canvas之画布操作 转载 https://www.gcssloop.com/customview/Canvas_Convert 本来想把画布操作放到后面部分的,但是发现很多 ...
- HTML5中canvas介绍
1.什么是Canvas canvas 是 HTML5 提供的一个用于展示绘图效果的标签 canvas 提供了一个空白的图形区域,可以使用特定的JavaScript API来绘画图形(canvas 2D ...
- Canvas对画布及文字控制基础API学习
这次纯API练习,比较简单,但是是为了之后的结合项目打基础的,所以也不能忽视它,下面开始: Canvas的平移.旋转.缩放 这里还是以上次画那个青春痘的DEMO为例[http://www.cnblog ...
- (网页)html5 canvas清空画布方法(转)
总结以下三种清空canvas画布的方式: 1. 最简单的方法:由于canvas每当高度或宽度被重设时,画布内容就会被清空,因此可以用以下方法清空: function clearCanvas() { v ...
- Wpf 之Canvas介绍
从这篇文章开始是对WPF中的界面如何布局做一个较简单的介绍,大家都知道:UI是做好一个软件很重要的因素,如果没有一个漂亮的UI,功能做的再好也无法吸引很多用户使用,而且没有漂亮的界面,那么普通用户会感 ...
- canvas:画布
画布有默认宽度,如果要自己设置宽带要写在属性上 列: <canvas id = "myCanvas" width = "600" height = &qu ...
随机推荐
- Java编程思想学习录(连载之:内部类)
内部类基本概念 可将一个类的定义置于另一个类定义的内部 内部类允许将逻辑相关的类组织在一起,并控制位于内部的类的可见性 甚至可将内部类定义于一个方法或者任意作用域内! 当然,内部类 ≠ 组合 内部类拥 ...
- C++中的字符串类
1,本文分析 C++ 中的字符串,C 语言中的字符串利用的是 C 语言中的字符数组, 在 C 语言中没有真正意义上的字符串,利用了字符数组表示了字符串,最初设 计 C 语言仅仅是为了开发 Unix ...
- P1162填涂颜色
这还是一个搜索题,难度较低,但我提交第三次才AC.. 观察0地图左上角的上面和左面都是一,所以先把他找粗来,然后设成start,然后dfs找到与他联通的块,涂成2即可.再说一下自己犯的低级错误:1.当 ...
- 类———用类定义对象———error:C++表达式必须包含类类型
//原文参考https://blog.csdn.net/lanchunhui/article/details/52503332 你以为你定义了一个类的对象,其实在编译器看来你是声明了一个函数 clas ...
- 常用的 Python 标准库都有哪些?
标准库:os 操作系统,time 时间,random 随机,pymysql 连接数据库,threading 线程,multiprocessing进程,queue 队列. 第三方库:django 和 f ...
- bzoj4103 [Thu Summer Camp 2015]异或运算(可持久化trie)
内存限制:512 MiB 时间限制:1000 ms 题目描述 给定长度为n的数列X={x1,x2,...,xn}和长度为m的数列Y={y1,y2,...,ym},令矩阵A中第i行第j列的值Aij=xi ...
- Redis中的事务及乐观锁的实现
介绍 Redis中的事务(transaction)是一组命令的集合. 事务同命令一样都是Redis最小的执行单位,一个事务中的命令要么都执行,要么都不执行. Redis事务的实现需要用 ...
- arcgis server10.2发布地图服务报错
发布地图服务时,读取了本机电脑中的切片方案.发布服务,报打包成功,但发布失败错误. 解决办法:给arcgis账户,赋予读写权限即可.重复发布服务,成功发布.
- Spring基础11——Bean的作用域
1.Bean的作用域种类 Spring中的bean的作用域分为四种:singleton.prototype.session.request,后两种很少使用,下面我们主要来学习前两种 2.singlet ...
- Python安装模块包
可以利用pycharm安装模块包 使用这种方法安装时,可能会报下面类型的异常 AttributeError: module 'pip' has no attribute 'main' 出现这这样的异常 ...