Canvas--2
- 绘制其他样式:
- 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.rect(100,100,200,300) ;
- 直接绘制矩形
- 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(弧度)
- 在js中,所有跟角度有关的函数或者属性,都是通过弧度来计算的
- 公式:angle/180 = 弧度/Math.PI
- 角度转弧度:angle/180*Math.PI
- 弧度转角度:radian/Math.PI*180
- 绘制扇形
- moveTo 到圆心
- 绘制圆弧
- 如果是 fill 这时候扇形就绘制完毕了,如果是stroke ,最简单的处理方式:closePash();
- 绘制文字
- strokeText(text,x,y);
fillText(text,x,y); - 第一个参数:要绘制的问题内容
- 第二个参数:表示绘制到画布中的x坐标
- 第三个参数:表示绘制到画布中的y坐标
- strokeText(text,x,y);
- 绘制文字的对齐方式
- ctx.textAlign = "start" 是默认值
- ctx.textAlign = "left"
- ctx.textBaseLine = "middle";
- measureText() 作用:计算文本的宽度
Canvas--2的更多相关文章
- html5 canvas常用api总结(三)--图像变换API
canvas的图像变换api,可以帮助我们更加方便的绘画出一些酷炫的效果,也可以用来制作动画.接下来将总结一下canvas的变换方法,文末有一个例子来更加深刻的了解和利用这几个api. 1.画布旋转a ...
- 【探索】利用 canvas 实现数据压缩
前言 HTTP 支持 GZip 压缩,可节省不少传输资源.但遗憾的是,只有下载才有,上传并不支持.如果上传也能压缩,那就完美了.特别适合大量文本提交的场合,比如博客园,就是很好的例子. 虽然标准不支持 ...
- 简单入门canvas - 通过刮奖效果来学习
一 .前言 一直在做PC端的前端开发,从互联网到行业软件.最近发现移动端已经成为前端必备技能了,真是不能停止学习.HTML5新增的一些东西,canvas是用的比较多也比较复杂的一个,简单的入门了一下, ...
- 获取Canvas当前坐标系矩阵
前言 在我的另一篇博文 Canvas坐标系转换 中,我们知道了所有的平移缩放旋转操作都会影响到画布坐标系.那在我们对画布进行了一系列操作之后,怎么再知道当前矩阵数据状态呢. 具体代码 首先请看下面的一 ...
- Canvas坐标系转换
默认坐标系与当前坐标系 canvas中的坐标是从左上角开始的,x轴沿着水平方向(按像素)向右延伸,y轴沿垂直方向向下延伸.左上角坐标为x=0,y=0的点称作原点.在默认坐标系中,每一个点的坐标都是直接 ...
- Canvas绘图之平移translate、旋转rotate、缩放scale
画布操作介绍 画布绘图的环境通过translate(),scale(),rotate(), setTransform()和transform()来改变,它们会对画布的变换矩阵产生影响. 函数 方法 描 ...
- 用html5的canvas和JavaScript创建一个绘图程序
本文将引导你使用canvas和JavaScript创建一个简单的绘图程序. 创建canvas元素 首先准备容器Canvas元素,接下来所有的事情都会在JavaScript里面. <canvas ...
- html5标签canvas函数drawImage使用方法
html5中标签canvas,函数drawImage(): 使用drawImage()方法绘制图像.绘图环境提供了该方法的三个不同版本.参数传递三种形式: drawImage(image,x,y):在 ...
- 使用 JavaScript 和 canvas 做精确的像素碰撞检测
原文地址:Pixel accurate collision detection with Javascript and Canvas 译者:nzbin 我正在开发一个需要再次使用碰撞检测的游戏.我通常 ...
- H5项目开发分享——用Canvas合成文字
以前曾用Canvas合成.裁剪.图片等<用H5中的Canvas等技术制作海报>.这次用Canvas来画文字. 下图中"老王考到驾照后"这几个字是画在Canvas上的,与 ...
随机推荐
- PHPCMS V9网站更换域名的方法
网站在发展的过程中,很可能多次的修改域名.那么在phpcms v9中我们要怎么进行设置呢? 请进行以下步骤的修改: 1.修改/caches/configs/system.php里面所有和域名有关的,把 ...
- JQuery 获取验证码倒计时
HTML代码: <button id="btn">点击获取验证码</button> Jquery:代码: $(document).ready(functio ...
- scrapy1.1入门用例简介-2
写一个小的scrapy project,爬取相关网页内容并保存为.json文件 0.创建project,genspider等. 1.修改items.py,内容如下: 2.修改dmoz.py,内容如下: ...
- 再次探讨C++的动态绑定和静态绑定
以前在学习C++的时候,对动态绑定和静态绑定的理解是:静态绑定是编译时决定的,非虚函数基本都是静态绑定:而动态绑定用于虚函数,是为了实现多态.这样理解没什么大的问题,但我一直疑惑的是,既然静态绑定可以 ...
- 转:SetWindowText 的用法
SetWindowText 函数功能:该函数改变指定窗口的标题栏的文本内容(如果窗口有标题栏).如果指定窗口是一个控件,则改变控件的文本内容.然而,SetWindowText函数不改变其他应用程序 ...
- 用“%20”取代字符串中空格的时间复杂度为O(n)的算法
/*length 为字符串数组string的总容量*/ void ReplaceBlank(char stringp[],int length) { ) return; /*originalLengt ...
- 转:Yii 常量的轻松管理
问题 我经常在不同的地方使用模型中的常量(基本状态常量),当常量改变时我不得不在使用每处它的代码中修改. 获取常量 为了解决这个问题我使用了一个方法 getConstants(). public st ...
- opencv 图像仿射变换 计算仿射变换后对应特征点的新坐标 图像旋转、缩放、平移
常常需要最图像进行仿射变换,仿射变换后,我们可能需要将原来图像中的特征点坐标进行重新计算,获得原来图像中例如眼睛瞳孔坐标的新的位置,用于在新得到图像中继续利用瞳孔位置坐标. 仿射变换在:http:// ...
- 如何把SKYPE的发送消息由enter改为ctrl+enter?
如果您的skype是tom-skype3.8正式版.您可以在skype面板中,选择"工具"-"选项"-"会话"-"会话设置&quo ...
- 通过 iTextSharp 实现PDF 审核盖章
最近需要做一个PDF自动审核盖章的工作,其实就是读取PDF,然后再最后一页加入一个审核章印图片上去.看起来很简单,不过在开发过程中,还是遇到了一些问题,在这里记录一下. 主要遇到的问题是页面的旋转 和 ...