js+面向对象+html5+canvas相关笔记(二)

1.map方法定义在Array.prototype上,是ecms5才有的
◆语法:数组.map(回调函数);
◆作用:接收回调函数的返回值,然后构建一个新数组并返回。


2.将画布中的内容转换为base64编码格式的图片
◆cvs.toDataURL("image/png");


3.base64编码图片的应用
◆如果一个网站中有少量的小图片,可以考虑直接使用base64编码。
◆图片标签可以这样使用base64格式编码,<ima src="image/png;base64,(base64格式码);"。
◆如果小图片非常多,首选使用css,如果小图片比较少,首选使用base64编码图片,大图片比较多就按需加载。


4.画圆的API
★角的弧度等于π/180,90度的角的弧度等于0.5π,所以弧度计算公式就等于(角度/180)*π
◆画弧(画的是路径):ctx.arc(圆心x轴坐标,圆心y轴坐标,半径,起点弧度,结束点弧度,是否逆时针画(可选)),是否逆时针画的值默认为false,arc方法内部会先从路径结束点到弧的起点画一条线,起点弧度、结束点弧度以及弧度的方向共同决定了弧 的大小
◆画弧度,顺时针才会描线,如起点弧度为0,弧度为(90/180)*π,那么之会画90度角的弧度的线,但是如果是逆时针的话,那么就会画270度角的弧度的线,这时候就会发现原来90度角的弧度的线是空白的。


5.对象.hasOwnProperty(propertyName),可以用来判断对象中这个属性名是否是自己的属性,但是原型中的属性不算,一般用于混合式继承中过滤原型中的属性。


6.ISI 是恐怖分子的缩写。


7.画文字的API
◆绘制描边文字:ctx.strokeText(文字,参考x轴坐标,参考y轴坐标,限制文字的最大长度(可选));。
◆设置文字的属性:ctx.font=和css语法一样,设置字体大小时必须带单位,单位支持css的所有表示方式,单独设置字体大小时不会生效,和css样式表中的font混合写法一样,需要ctx.font:"20px simsun";。
◆绘制填充文字:ctx:fillText(文字,参考x轴坐标,参考y轴坐标,限制文字的最大长度(可选));,限制文字的最大程度时,文字就会压缩到一起。
◆设置文字的水平对齐方式:ctx.textAlign,取值有left || start、right || end、center,这种对齐方式针对的参考坐标的点,默认取值是left。
◆设置文字的垂直对齐方式:ctx.textBaseline,取值有top、bottom、middle、alphabetic、hanging、ideographic,默认值alphabetic,汉语拼英中的四线三格,top在第一条线之上,hanging紧贴第一条线,middle在第二条线和第三条线之间,bottom和idographic在第四条线之下,默认值alphabetic在紧紧靠着第三条线。

posted @ 2018-06-17 12:09  我叫贾文利  阅读(74)  评论(0编辑  收藏  举报