初学画布canvas的chapter2
文本
1.字体属性
context.font = [css font property]
——使用CSS规范,语法跟CSS字体速记符号一致
——line-height无效,并永远忽略
Context.font = [font-style font-variant font-weight font-size font-family]
2.水平锚点
context.textAlign = [left | right |center | *start | end]
——左对齐/右对齐/居中对齐/开始/结束
dir=”ltr/rt”
——设置文本方向从左到右/从右到左
3.垂直锚点
context.textBaseline = [ top | middle | alphabetic | bottom | hanging| ideographic ]
——文本基线位于em方框的顶端/位于em方框的正中/默认,普通的字母基线/位于em方框的底端/悬挂基线/表意基线
4.绘制文本
context.fillText(text,x,y,maxwidth) ——绘制填充文本
context.strokeText(text,x,y,maxwidth) ——绘制无填充文本
context.measureText() ——定义文本尺寸
四、内嵌图像
context.drawImage(image,dx,dy) context.drawImage(image,dx,dy,dw,dh) context.drawImage(image,sx,sy,sw,sh,dx,dy,dw,dh)
——s代表源,d代表尺寸
五、像素处理
imageData
getImageData(sx,sy,sw,sh)
——获取canvas矩形选区
putImageData(ImageData,dx,dy[dirtyX,dirtyY,dirtyWidth.dirtyHeight])
——写入画布
createImageData(sw,sh/imagedata)
——初始化空白ImageData
六、混合、图案、变换等
混合:
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重叠部分去掉
? ——自定义合成方法
图案:
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的更多相关文章
- 初学画布canvas的chapter1
——这篇读后感是我阅读<写给Web开发人员看的HTML5教程>一书中的第5章画布后的小小看法,由于编程实力有限,很多效果病没有一一去实现,所以只是停留在纸上谈兵的阶段. 画布(canvas ...
- HTML 5 画布(canvas)
canvas 元素使用 JavaScript 在网页上绘制图像,本身是没有绘图能力. canvas 是一个矩形区域,可以控制其每一像素. canvas 拥有多种绘制路径.矩形.圆形.字符以及添加图像的 ...
- HTML5画布Canvas
一.Canvas概念介绍 1.概念 Canvas : 画布 2.作用 : HTML5 Canvas 元素用于图形的绘制, 通过脚本(通常是JavaScript)来完成.它本身只是个图形容器,必须使用脚 ...
- HTML5画布(CANVAS)速查简表
HTML5画布(CANVAS)速查简表 http://www.webhek.com/misc/html5-canvas-cheat-sheet/
- PHP《将画布(canvas)图像保存成本地图片的方法》
用PHP将网页上的Canvas图像保存到服务器上的方法 2014年6月27日 歪脖骇客 发表回复 8 在几年前HTML5还没有流行的时候,我们的项目经理曾经向我提出这样一个需求:让项目评审专家们在评审 ...
- Tkinter画布-Canvas
Python - Tkinter画布-Canvas: Canvas是一个长方形的面积,图画或其他复杂的布局.可以放置在画布上的图形,文字,部件,或是帧 Canvas是一个长方形的面积,图画或其他复杂的 ...
- 转载:将画布(canvas)图像保存成本地图片的方法
之前我曾介绍过如何将HTML5画布(canvas)内容转变成图片形式,方法十分简单.但后来我发现只将canvas内容转变成图片输出还不够,如何能将转变后的图片保存到本地呢? 其实,这个方法也是非常简单 ...
- 面向画布(Canvas)的JavaScript库
面向画布(Canvas)的JavaScript库 总结 每个库各有特色,根据需求选择 学习要点 面向画布(Canvas)的JavaScript库 EaselJS 是一个封装了 HTML5 画布(C ...
- 学习前端第二天心得体会(初步了解HTML5的部分API以及画布Canvas)
一.HTML5部分API 1.选择器querySelector和querySelectorAll 1.1.querySelector:返回文档中匹配指定的CSS选择器的第一元素. document. ...
随机推荐
- 用refresh控制浏览器定时刷新
package cn.itcast.response; import java.io.IOException; import java.util.Random; import javax.servle ...
- Cookie 知识点再整理
1. Cookie 是存储在客户端 内存 或者 硬盘(例如火狐把 Cookie 存储在 C:\Documents and Settings\用户名\Application Data\Mozilla\ ...
- 最长公共子序列PK最长公共子串
1.先科普下最长公共子序列 & 最长公共子串的区别: 找两个字符串的最长公共子串,这个子串要求在原字符串中是连续的.而最长公共子序列则并不要求连续. (1)递归方法求最长公共子序列的长度 1) ...
- JavaMail邮件开发
一.只带有纯文本的邮件 代码事例如下: package com.lyh.sendemail; import java.util.Properties; import javax.mail.Messag ...
- home page
How To Set Your Home Page Step 1 – Navigate to Settings > Reading tab. Step 2 – Select A Static P ...
- Java学习-041-颜色工具类(RGB,HEX)
在日常的网页开发中,经常需要进行颜色数值获取.转换,例如获取红色,获取蓝色,获取绿色,RGB转十六进制颜色,十六进制颜色转RGB等,因而在学习过程中,写了一个小工具类,仅供各位小主参考! 多不闲言,直 ...
- centos7 yum安装mysql5.7并在root密码忘记的情况下重设密码
CentOS7的yum源中默认好像是没有mysql的.为了解决这个问题,我们要先下载mysql的repo源. 1. 下载mysql的repo源 1 $ wget http://repo.mysql ...
- Oracle中的rownum和rowid
http://blog.csdn.net/mitedu/article/details/3584399 rownum http://blog.csdn.net/mitedu/article/deta ...
- EF 之 MVC 排序,查询,分页 Sorting, Filtering, and Paging For MVC About EF
最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精 上篇博客我们学习了EF CodeFirst增删改查 ...
- docker interact example
此为docker 第一篇,插下杂七杂八的东西,好找,就这么简单,,,, yum -y install docker-io //install cp /var/tmp/cap.data /var/lib ...