Canvas1 (关键词:canvas)
 
  • canvas :就是html5中提供的一个标签,只是用来展示绘图的内容
    • canvas  标签的默认宽高:300*150
      • 如果给canvas来设置高度和宽度
        • 一般情况就是html的width 和 height属性
        • 通过js来设置宽度和高度
        • 不管是通过html的属性(width/height) 还是直接通过DOM来设置(width/height ),属性都是在设置canvas画布中的像素点
        • 注意:不要通过css样式属性来设置高度和宽度,因为这里的高度和宽度不是在设置像素点的个数,而是在扩大或者缩小每个像素点的大小
 
    • canvas标签IE9及其以上的浏览器才支持
 
    • 使用canvas基本步骤:
      1. 获取canvasDOM元素
      2. 获取canvas绘图上下文(一系列工具的集合)
      3. 从上下文中获取到相应的工具(API 或者方法)
 // 传入的参数 2d 表示,绘制平面图形
// 如果想要绘制 3d的内容,需要传入: webgl
var ctx = cv.getContext("2d");
// ctx的类型: CanvasRenderingContext2D
 
    • 系统的画图工具:
      1. canvas画布:白色的空白区域
      2. 上下文:白色的空白区域上部工具栏
 
    • 常用的方法:
      1. .moveTo()----把画笔移动到画布中的某个位置去
      2. .lineTo()   ----在起始点和当前函数提供的坐标之间画一条路径
      3. .stroke()   ----描边,真正的将路径绘制在canvas画布上
      4. .fill()         ---- 填充,填充为一个指定的颜色,如果绘制了一个没有闭合图形,会自动闭合
      5. .closePath() ---闭合路径
        • 闭合路径 与 自己写的连线的区别:
          • 闭合路径绘制的两条线衔接处更加平滑
          • 自己写的连线,只是让开始位置跟结束的位置放到一起,这两者绘制出来的接合处是有区别的
      6. .beginPath()----开启路径
        • 开启路径,只把原来的路径清空了,但是绘制的样式(状态)还会被继承了
        • 如果是开启新路径之后,又设置了样式,那么会把之前的样式覆盖
 
      • 常用的样式:
        1. strokeStyle   设置描边的颜色
                    取值:颜色名称   十六进制  rgba
        2. fillStyle   设置填充的颜色
        3. lineWidth 设置线的宽度 :如果是奇数的线宽,绘制的时候,会制动加1像素,然后最外面的两个像素颜色会变淡
      • 如何让lineWidth的宽度为1
        • (width,height.5)

canvas ---1的更多相关文章

  1. html5 canvas常用api总结(三)--图像变换API

    canvas的图像变换api,可以帮助我们更加方便的绘画出一些酷炫的效果,也可以用来制作动画.接下来将总结一下canvas的变换方法,文末有一个例子来更加深刻的了解和利用这几个api. 1.画布旋转a ...

  2. 【探索】利用 canvas 实现数据压缩

    前言 HTTP 支持 GZip 压缩,可节省不少传输资源.但遗憾的是,只有下载才有,上传并不支持.如果上传也能压缩,那就完美了.特别适合大量文本提交的场合,比如博客园,就是很好的例子. 虽然标准不支持 ...

  3. 简单入门canvas - 通过刮奖效果来学习

    一 .前言 一直在做PC端的前端开发,从互联网到行业软件.最近发现移动端已经成为前端必备技能了,真是不能停止学习.HTML5新增的一些东西,canvas是用的比较多也比较复杂的一个,简单的入门了一下, ...

  4. 获取Canvas当前坐标系矩阵

    前言 在我的另一篇博文 Canvas坐标系转换 中,我们知道了所有的平移缩放旋转操作都会影响到画布坐标系.那在我们对画布进行了一系列操作之后,怎么再知道当前矩阵数据状态呢. 具体代码 首先请看下面的一 ...

  5. Canvas坐标系转换

    默认坐标系与当前坐标系 canvas中的坐标是从左上角开始的,x轴沿着水平方向(按像素)向右延伸,y轴沿垂直方向向下延伸.左上角坐标为x=0,y=0的点称作原点.在默认坐标系中,每一个点的坐标都是直接 ...

  6. Canvas绘图之平移translate、旋转rotate、缩放scale

    画布操作介绍 画布绘图的环境通过translate(),scale(),rotate(), setTransform()和transform()来改变,它们会对画布的变换矩阵产生影响. 函数 方法 描 ...

  7. 用html5的canvas和JavaScript创建一个绘图程序

    本文将引导你使用canvas和JavaScript创建一个简单的绘图程序. 创建canvas元素 首先准备容器Canvas元素,接下来所有的事情都会在JavaScript里面. <canvas ...

  8. html5标签canvas函数drawImage使用方法

    html5中标签canvas,函数drawImage(): 使用drawImage()方法绘制图像.绘图环境提供了该方法的三个不同版本.参数传递三种形式: drawImage(image,x,y):在 ...

  9. 使用 JavaScript 和 canvas 做精确的像素碰撞检测

    原文地址:Pixel accurate collision detection with Javascript and Canvas 译者:nzbin 我正在开发一个需要再次使用碰撞检测的游戏.我通常 ...

  10. H5项目开发分享——用Canvas合成文字

    以前曾用Canvas合成.裁剪.图片等<用H5中的Canvas等技术制作海报>.这次用Canvas来画文字. 下图中"老王考到驾照后"这几个字是画在Canvas上的,与 ...

随机推荐

  1. keybd_event 转载

    转自 http://apps.hi.baidu.com/share/detail/14468670 Option Explicit Private Declare Sub keybd_event Li ...

  2. ext中处理Combobox组件点击触发后台事件的问题

    ext的Combobox组件在绑定数据的时候需要一个Store来绑定数据,在store里面我们可以设置autoLoad属性,这个属性表示Store可以自动的到后台获取数据,ext实质上就是封装好的ja ...

  3. C语言刷新缓冲区(转载)

    C语言中有几个基本输入函数: //获取字符系列 int fgetc(FILE *stream); int getc(FILE *stream); int getchar(void); //获取行系列 ...

  4. Sicily 1034. Forest

    题目地址:1034. Forest 思路: 网上很多说用深搜,很任性.......发现广搜也挺好用的,实验课打的(⊙o⊙)…orz........囧. 先找根结点,根据根结点广搜深度,广搜宽度,不过要 ...

  5. 如何升级nodejs版本

    直接下载最新版安装即可,例如我本地的nodejs版本为: y@y:untitled$ node -v v0.10.33 当前node官网最新版本为:Current Version: v0.12.2 下 ...

  6. UUID详解

    什么是UUID? UUID是Universally Unique Identifier的缩写,它是在一定的范围内(从特定的名字空间到全球)唯一的机器生成的标识符.UUID具有以下涵义: 经由一定的算法 ...

  7. Hadoop2.4.1 MapReduce通过Map端shuffle(Combiner)完成数据去重

    package com.bank.service; import java.io.IOException; import org.apache.hadoop.conf.Configuration;im ...

  8. Stack & Heap in Java

    Stack and Heap 都是Java用来在RAM中存放数据的地方.Java自动管理堆和栈,用户不能直接的设置堆或栈. Stack:存在于栈中的数据,其大小与生存周期是确定的,栈中的数据可以共享 ...

  9. 深入浅出-iOS函数式编程的实现 && 响应式编程概念

    简介 本篇主要回顾一下--iOS函数式编程 && 响应式编程概念 ,如何一步步实现函数式编程的过程,对阅读Masonry && SnapKit源码有一定的帮助. 配图 ...

  10. repo的小结

    repo仅仅是google用Python脚本写的调用git的一个脚本,主要是用来下载.管理Android项目的软件仓库. 1. 下载 repo 的地址: http://android.git.kern ...