文本

  1.字体属性

  1.   context.font = [css font property]

    ——使用CSS规范,语法跟CSS字体速记符号一致

 ——line-height无效,并永远忽略

  1.   Context.font = [font-style font-variant font-weight font-size font-family]

  2.水平锚点

  1.   context.textAlign = [left | right |center | *start | end]

    ——左对齐/右对齐/居中对齐/开始/结束

  1.   dir=”ltr/rt

——设置文本方向从左到右/从右到左

  3.垂直锚点

  1.   context.textBaseline = [ top | middle | alphabetic | bottom | hanging| ideographic ]

    ——文本基线位于em方框的顶端/位于em方框的正中/默认,普通的字母基线/位于em方框的底端/悬挂基线/表意基线

  4.绘制文本

  1. context.fillText(text,x,y,maxwidth)     ——绘制填充文本
    context.strokeText(text,x,y,maxwidth)   ——绘制无填充文本
  2. context.measureText()           ——定义文本尺寸

四、内嵌图像

  1. context.drawImage(image,dx,dy)
  2.  
  3. context.drawImage(image,dx,dy,dw,dh)
  4.  
  5. context.drawImage(image,sx,sy,sw,sh,dx,dy,dw,dh)

      ——s代表源,d代表尺寸

五、像素处理

imageData

  1. getImageData(sx,sy,sw,sh)

——获取canvas矩形选区

  1. putImageData(ImageData,dx,dy[dirtyX,dirtyY,dirtyWidth.dirtyHeight])

      ——写入画布

  1. createImageData(sw,sh/imagedata)

      ——初始化空白ImageData

六、混合、图案、变换等

混合:

  

  1. context.globalCompositeOperation = ‘’;

属性:

source/destination-over——将A绘于B上/相反

source/destination –in    ——绘出A位于B的部分/相反

source/destination –out——绘出A在B之外的部分/相反

source/destination –atop    ——绘出B以及A与B重叠部分

lighter    ——为重叠区域添加颜色并变浅

copy       ——将B排除只绘出A

xor       ——将A与B重叠部分去掉

?       ——自定义合成方法

图案:

  1. context.createPattern(image,repetition)

repetition属性:

repeat  ——水平和垂直重复

repeat-x     ——水平重复

repeat-y     ——垂直重复

no-repeat     ——不重复

变换:

scale(x,y)——根据x,y来完成x轴和y轴的尺寸改变

rotate(angle)——根据angle调整顺时针旋转的角度

translate(x,y)——以像素为单位的x轴、y轴偏移

——3种方法混合使用,变换会以相反顺序进行

transform(m11,m12,m21,m22,dx,dy)

——通过乘法改变当前矩阵

setTransform(m11,m12,m21,m22,dx,dy)

——将新矩阵覆盖在原有矩阵上

m11——X轴方向缩放

m12——水平剪切

m21——垂直剪切

m22——Y轴方向缩放

dx——X轴位移

dy——Y轴位移

其他:

save()和retore()

save()

——创建一个快照,保存当前设置属性

retore()

——访问该快照

初学画布canvas的chapter2的更多相关文章

  1. 初学画布canvas的chapter1

    ——这篇读后感是我阅读<写给Web开发人员看的HTML5教程>一书中的第5章画布后的小小看法,由于编程实力有限,很多效果病没有一一去实现,所以只是停留在纸上谈兵的阶段. 画布(canvas ...

  2. HTML 5 画布(canvas)

    canvas 元素使用 JavaScript 在网页上绘制图像,本身是没有绘图能力. canvas 是一个矩形区域,可以控制其每一像素. canvas 拥有多种绘制路径.矩形.圆形.字符以及添加图像的 ...

  3. HTML5画布Canvas

    一.Canvas概念介绍 1.概念 Canvas : 画布 2.作用 : HTML5 Canvas 元素用于图形的绘制, 通过脚本(通常是JavaScript)来完成.它本身只是个图形容器,必须使用脚 ...

  4. HTML5画布(CANVAS)速查简表

    HTML5画布(CANVAS)速查简表 http://www.webhek.com/misc/html5-canvas-cheat-sheet/

  5. PHP《将画布(canvas)图像保存成本地图片的方法》

    用PHP将网页上的Canvas图像保存到服务器上的方法 2014年6月27日 歪脖骇客 发表回复 8 在几年前HTML5还没有流行的时候,我们的项目经理曾经向我提出这样一个需求:让项目评审专家们在评审 ...

  6. Tkinter画布-Canvas

    Python - Tkinter画布-Canvas: Canvas是一个长方形的面积,图画或其他复杂的布局.可以放置在画布上的图形,文字,部件,或是帧 Canvas是一个长方形的面积,图画或其他复杂的 ...

  7. 转载:将画布(canvas)图像保存成本地图片的方法

    之前我曾介绍过如何将HTML5画布(canvas)内容转变成图片形式,方法十分简单.但后来我发现只将canvas内容转变成图片输出还不够,如何能将转变后的图片保存到本地呢? 其实,这个方法也是非常简单 ...

  8. 面向画布(Canvas)的JavaScript库

    面向画布(Canvas)的JavaScript库 总结 每个库各有特色,根据需求选择   学习要点 面向画布(Canvas)的JavaScript库 EaselJS 是一个封装了 HTML5 画布(C ...

  9. 学习前端第二天心得体会(初步了解HTML5的部分API以及画布Canvas)

    一.HTML5部分API 1.选择器querySelector和querySelectorAll 1.1.querySelector:返回文档中匹配指定的CSS选择器的第一元素.  document. ...

随机推荐

  1. 浅谈scrum站立会议

    什么是每日站立会议?       站立会议是让团队成员每日面对面站立互相交流他们所承担任务的进度.它的一个附带好处是让领导或经理能了解到工作情况.但本质上是为了团队交流,不是报告会议! 为什么开展每日 ...

  2. Total Commander 常用快捷键(并附快捷键大全)

    Total Commander 常用快捷键 喜欢用Total Commander的人,都会记住它的一些快捷键,这会给你的操作带来很大的方便,以下是经常会用到的快捷键,大家可以记住一些自己用得最多的操作 ...

  3. Python的时间模块小结(转自:不懂真人)

    import datetimeprint time.time() #时间戳 print time.localtime(time.time()) #时间元组 print time.strftime('% ...

  4. Yii源码阅读笔记(二十四)

    Module类中获取子模块,注册子模块,实例化控制器,根据路由运行指定控制器方法的注释: /** * Retrieves the child module of the specified ID. * ...

  5. 前后端分离开发——模拟数据mock.js

    mock.js 生成模拟数据,拦截ajax请求 <script type="text/javascript" src="http://libs.baidu.com/ ...

  6. libgdx actor 透明问题

    遇到一个问题,自定义的Actor在使用batch.draw时,其他Actor设置的透明影响到了这个Actor 处理方法为 在自定义Actor中 draw方法中 绘制前,加入 Color color = ...

  7. SQL的inner join、left join、right join、full outer join、union、union all

    主题: SQL的inner join.left join.right join.full outer join.union.union all的学习. Table A和Table B表如下所示: 表A ...

  8. 《Linux内核分析》第七周 读书笔记

    <深入理解计算机系统>CHAPTER7阅读梳理 [学习时间:3hours] [学习内容:链接需要的代码&数据:链接机制:链接生成的目标文件] 一.链接概述 1.链接 定义:链接是将 ...

  9. bat批处理完成jdk tomcat的安装

    在完成一个web应用项目后,领导要求做一个配置用的批处理文件,能够自动完成jdk的安装,tomcat的安装,web应用的部署,环境变量的注册,tomcat服务的安装和自动启动 参考了网上很多的类似的批 ...

  10. Python之路-python(Queue队列、进程、Gevent协程、Select\Poll\Epoll异步IO与事件驱动)

    一.进程: 1.语法 2.进程间通讯 3.进程池 二.Gevent协程 三.Select\Poll\Epoll异步IO与事件驱动 一.进程: 1.语法 简单的启动线程语法 def run(name): ...