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介绍(画布)的更多相关文章

  1. HTML5 Canvas(画布)实战编程初级篇:基本介绍和基础画布元素

    欢迎大家阅读HTML5 Canvas(画布)实战编程初级篇系列,在这个系列中,我们将介绍最简单的HTML5画布编程.包括: 画布元素 绘制直线 绘制曲线 绘制路径 绘制图形 绘制颜色,渐变和图案 绘制 ...

  2. canvas介绍和用途

    canvas介绍和用途 canvas(画布)主要是位图 svg(矢量图) canvas标签,必须要写的3个属性 id width height 为什么不在style中设置width和height呢? ...

  3. Android绘图基础Paint和Canvas介绍-android学习之旅(六十一)

    canvas介绍 Paint类介绍 代码示例 效果图

  4. 安卓自定义View进阶-Canvas之画布操作 转载

    安卓自定义View进阶-Canvas之画布操作 转载 https://www.gcssloop.com/customview/Canvas_Convert 本来想把画布操作放到后面部分的,但是发现很多 ...

  5. HTML5中canvas介绍

    1.什么是Canvas canvas 是 HTML5 提供的一个用于展示绘图效果的标签 canvas 提供了一个空白的图形区域,可以使用特定的JavaScript API来绘画图形(canvas 2D ...

  6. Canvas对画布及文字控制基础API学习

    这次纯API练习,比较简单,但是是为了之后的结合项目打基础的,所以也不能忽视它,下面开始: Canvas的平移.旋转.缩放 这里还是以上次画那个青春痘的DEMO为例[http://www.cnblog ...

  7. (网页)html5 canvas清空画布方法(转)

    总结以下三种清空canvas画布的方式: 1. 最简单的方法:由于canvas每当高度或宽度被重设时,画布内容就会被清空,因此可以用以下方法清空: function clearCanvas() { v ...

  8. Wpf 之Canvas介绍

    从这篇文章开始是对WPF中的界面如何布局做一个较简单的介绍,大家都知道:UI是做好一个软件很重要的因素,如果没有一个漂亮的UI,功能做的再好也无法吸引很多用户使用,而且没有漂亮的界面,那么普通用户会感 ...

  9. canvas:画布

    画布有默认宽度,如果要自己设置宽带要写在属性上 列: <canvas id = "myCanvas" width = "600" height = &qu ...

随机推荐

  1. python3使用hashlib进行加密

    hashlib是个专门提供hash算法的库,里面包括md5, sha1, sha224, sha256, sha384, sha512,使用非常简单.方便. MD5 MD5的全称是Message-Di ...

  2. logstash启动时找不到自定义的JAVA_HOME环境变量

    logstash java 版本问题 配置logstash收集应用日志时出现报错,说是找不到JAVA_HOME环境变量,但是明明已经设置了 logstash要求java 1.8以上,查看生产环境: [ ...

  3. Prometheus 2.14.0 新特性

    Prometheus 2.14.0 现在(2019.11.11)已经发布,在上个月的 2.13.0 之后又进行了一些修正和改进. 这次最大的新功能是基于 React 的新 UI,与现有 UI 大体相同 ...

  4. 【源码解读】pix2pix(一):训练

    源码地址:https://github.com/mrzhu-cool/pix2pix-pytorch 相比于朱俊彦的版本,这一版更加简单易读 训练的代码在train.py,开头依然是很多代码的共同三板 ...

  5. webpack配置--传统多页面项目

    //依赖包--package.json文件 { "name": "webemeet", "version": "1.0.0&quo ...

  6. ubuntu14.04首次安装.md

    ubuntu14.04 安装后的工作 1.换软件源 sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup 网易163更新服务器(广东广州 ...

  7. systemd 相关及服务启动失败原因

    1 查看启用的units systemctl list-unit-files | grep enabled 2 查看指定服务的日志 按服务单元过滤 journalctl -u j   查看j.serv ...

  8. sshfs 挂载远程文件夹

    1 安装 # yum install sshfs # dnf + releases] $ sudo apt-get install sshfs [On Debian/Ubuntu based syst ...

  9. Mixly-指令

    串口: 向串口监视器输出数据       十进制       Serial.println(ir_item,HEX); 向串口监视器输出数据---十六进制 通信: 接收11脚的红外信号,把接收到的数据 ...

  10. 在浏览器下载pdf,或者txt文档是会直接打开

    window.location.href = url会直接打开,解释大概是因为浏览器自身可以解析.pdf或者txt.解决方法如下: 本来就要用a标签里面加上download属性的,结果发现不行,就算了 ...