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. Python3 如何优雅地使用正则表达式(详解四)

    更多强大的功能 到目前为止,我们只是介绍了正则表达式的一部分功能.在这一篇中,我们会学习到一些新的元字符,然后再教大家如何使用组来获得被匹配的部分文本. 更多元字符 还有一些元字符我们没有讲到,接下来 ...

  2. 51单片机 Keil C 延时程序的简单研究

    应用单片机的时候,经常会遇到需要短时间延时的情况.需要的延时时间很短,一般都是几十到几百微妙(us).有时候还需要很高的精度,比如用单片机驱动DS18B20的时候,误差容许的范围在十几us以内,不然很 ...

  3. 如何判断一个C++对象是否在堆上(通过GetProcessHeaps取得所有堆,然后与对象地址比较即可),附许多精彩评论

    在帖子如何判断一个C++对象是否在堆栈上 中, 又有人提出如何判断一个C++对象是否在堆上. 其实我们可以参照那个帖子的方法类似实现,我们知道堆就是Heap,在windows上我们可以通过GetPro ...

  4. Web应用部署工具

    Fabric----python写的,没试用过,基本上是local函数是调用本地命令,run是调用远程命令,看了些sample,还是觉得挺方便的. jekins------java的集成测试工具,也可 ...

  5. COJ 0020 30201象棋中的皇后

    30201象棋中的皇后 难度级别:B: 运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 在n×m的棋盘上放置两个相互攻击的皇后,总共有多少种不同 ...

  6. GUID 的优缺点 uniqueidentifier

    1) 优点 同 IDENTITY 列相比,uniqueidentifier 列可以通过 NewID() 函数提前得知新增加的行 ID,为应用程序的后续处理提供了很大方便. 便于数据库移植,其它数据库中 ...

  7. Palindrome Pairs 解答

    Question Given a list of unique words, find all pairs of distinct indices (i, j) in the given list, ...

  8. CF-Mr. Kitayuta's Colorful Graph

    B. Mr. Kitayuta's Colorful Graph time limit per test 1 second memory limit per test 256 megabytes in ...

  9. Scala学习1

    Scala是一种静态语言.面向对象的函数式编程语言.它的程序代码以.scala结尾,编译时会编译成.class字节码在jvm上运行. 类和方法默认是public的,不必显式声明public. retu ...

  10. C - Critical Links - uva 796(求桥)

    题意:有一些网络通过一些线路连接,求关键的连接,也就是桥,如果删除这个链接那么会产生两个子树 分析:注意一下图不是连通图即可 ************************************* ...