Canvas2(关键词:setLineDash 、rect 、strokeRect 、clearRect 、arc、sin 、strokeText )
 
  • 绘制其他样式:
    • lineCap 结束端点的设置
      • lineCap  = “butt”  默认线冒
      • lineCap  = “round” 圆形线冒
      • lineCap  =  “aquare”正方形线冒
 
    • lineJoin 创建拐角类型
      • bevel:创建斜角
      • round:创建圆角
      • miter:默认,创建尖角
 
    • miterLimit  设置或返回最大衔接长度,一般默认10
 
  • 绘制虚线的方法
    • setLineDash()   ----表示设置虚线,参数是一个数组
    • 如果传入一个参数, 表示虚线的实线部分和空白的部分的宽度是就是这个参数
    • 如果传入多个参数,然后,循环交替分别来使用数组中的值来设置
 
  • 设置线的偏移
    • lineDashoffset
    • 注意:如果设置偏移,表示虚线的起始点往左移动
 
  • 使用  rect 方法来绘制矩形
    • ctx.rect(100,100,200,300) ;   
      ctx.stroke();
      • 第一个参数:起点的x坐标
      • 第二个参数:起点的y坐标
      • 第三个参数:绘制矩形的宽度
      • 第四个参数:绘制矩形的高度
 
    • 直接绘制矩形
      • ctx.strokeRect(100,100,200,300 );  参数和上面rect的一样
 
    • 填充矩形
      • ctx.fillRect(100,100,200,300 );  参数和上面rect的一样
 
    • 清除矩形
      • ctx.clearRect(100,100,200,300 );  参数和上面rect的一样
      • 注意:清除绘制好的矩形的时候,需要考虑边框问题(需要多处理1像素)
 
    • 清除整个画布
      • 第一种方法:ctx.clearRect(0,0,cv.width,cv.height);
      • 第二种方法(重置画布的width或者height):设置cv.width = cv.width; 或者 cv.height = cv.height
 
  • 绘制圆弧
    • ctx.arc ( x, y, r, 起始的弧度,结束的弧度,counterclickwise )
    • 第一个参数:圆心的x坐标
    • 第二个参数:圆心的y坐标
    • 第三个参数:半径
    • 第四个参数:开始的弧度
    • 第五个参数:结束的弧度
    • 第六个参数:绘制的方向(顺时针/逆时针)
 
  • 弧度:Math.sin(弧度)/Math.cos(弧度)
    1. 在js中,所有跟角度有关的函数或者属性,都是通过弧度来计算的
    2. 公式:angle/180 = 弧度/Math.PI
    3. 角度转弧度:angle/180*Math.PI
    4. 弧度转角度:radian/Math.PI*180
// 角度转弧度
function toRadian(angle) {
  return angle / 180 * Math.PI;
}
 
// 弧度转角度
function toAngle(radian) {
  return radian / Math.PI * 180;
}
 
 
  • 绘制扇形
    1. moveTo  到圆心
    2. 绘制圆弧
    3. 如果是 fill 这时候扇形就绘制完毕了,如果是stroke ,最简单的处理方式:closePash();
 
  • 绘制文字
    • strokeText(text,x,y);
      fillText(text,x,y);
      • 第一个参数:要绘制的问题内容
      • 第二个参数:表示绘制到画布中的x坐标
      • 第三个参数:表示绘制到画布中的y坐标
 
    • 绘制文字的对齐方式
      • ctx.textAlign = "start"  是默认值
      • ctx.textAlign = "left"
      • ctx.textBaseLine = "middle";
 
    • measureText()   作用:计算文本的宽度
// 这个方法的返回值:对象,要获取文字的宽度,就访问对象的 width 属性
textWidth = ctx.measureText(value.title).width;

Canvas--2的更多相关文章

  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. HTML5 canvas 中的线条样式

    线条样式属性 lineCap        设置或返回线条的结束端点样式 butt         默认.向线条的每个末端添加平直的边缘. round         向线条的每个末端添加圆形线帽. ...

  2. 解决.VS2012+EF5.0开发的网站在window server2003上无法部署的问题(转载)

    转载:http://www.cnblogs.com/eggTwo/p/3653825.html (一)前  言                                             ...

  3. PHP获取操作系统、IP、地理位置、浏览器、ISP等信息_PHP类代码

    PHP语言.浏览器.操作系统.IP.地理位置.ISP,本PHP类里面有以下几种方法,同时也是用法说明: <?php class class_guest_info{ function GetLan ...

  4. php 魔术方法 __autoload()

    PHP在魔术函数__autoload()方法出现以前,如果你要在一个程序文件中实例化100个对象,那么你必须用include或者require包含进来100个类文件,或者你把这100个类定义在同一个类 ...

  5. django(二)视图和URL配置

    创建一份视图: 在上一节,使用django-admin.py startproject制作的mysite文件夹中,创建一个叫做views.py的空文件.这个Python模块健柏寒这一章的视图. vie ...

  6. 無心插柳的Linux學習者代言人——蔡德明

    誰是「蔡德明」恐怕沒有多少人知道,不過提到「鳥哥」這個稱號,在臺灣的Linux社群幾乎是無人不知無人不曉,蔡德明正是鳥哥的本名.鳥哥究竟多有名? 如果你是有意學習Linux的初學者,卻不知如何下手,1 ...

  7. new Date参数问题

    new Date支持的参数: MDN:   new Date();   new Date(value);   new Date(dateString);   new Date(year, month, ...

  8. mongodb 增加用户以及认证用户

    test>use admin switched to db admin admin>db.addUser('yshy','yshy') { "user" : " ...

  9. CSS之Position详解

    CSS的很多其他属性大多容易理解,比如字体,文本,背景等.有些CSS书籍也会对这些简单的属性进行大张旗鼓的介绍,而偏偏忽略了对一些难缠的属性讲解,有避重就轻的嫌疑.CSS中主要难以理解的属性包括盒型结 ...

  10. 浅谈JavaScript浮点数及其运算

    原文:浅谈JavaScript浮点数及其运算     JavaScript 只有一种数字类型 Number,而且在Javascript中所有的数字都是以IEEE-754标准格式表示的.浮点数的精度问题 ...