HTML5技术

canvas基础学习(一) - 古月枫(3)

字号+ 作者:H5之家 来源:博客园 2015-11-20 17:23 我要评论( )

ctx.beginPath(); var str = "古月枫" ctx.fillStyle = "aqua" ;ctx.font = "40px Arial" ;ctx.textAlign = "center" ;ctx.textBaseline = "middle" ;ctx.shadowColor = "gray" ;ctx.shadowOffsetX = 5 ;ctx.shadow

ctx.beginPath(); var str = "古月枫" ctx.fillStyle = "aqua"; ctx.font = "40px Arial"; ctx.textAlign = "center"; ctx.textBaseline = "middle"; ctx.shadowColor = "gray"; ctx.shadowOffsetX = 5; ctx.shadowOffsetY = 5; ctx.shadowBlur = 3; ctx.fillText(str,100,150,200); ctx.closePath();

效果图为:

 

3、全局变量,透明度

ctx.globalAlpha设置全局的透明度,它的默认值为1,而将其改变为0到1的值时,画布上的图形就有了透明效果。由其作用范围为全局,所以要用save()和restore()方法进行包裹使用

 

4、剪辑 ctx.clip();

这个功能只有上面所说的一个函数,它是与lineTo、fillRect、arc等可绘制闭合空间的函数混用,其用处是为了canvas只能在一个封闭的空间内进行绘制,超出这个空间的图形绘制不显示,比较常用的运用方式是制作探照灯的效果。

ctx.save(); ctx.beginPath(); ctx.arc(200,200,100,0,Math.PI*2); ctx.clip(); ctx.fillStyle = "chartreuse"; ctx.fillRect(100,100,200,200); ctx.closePath(); ctx.restore();

效果图为:

先定义了一个圆形的剪辑区域,然后画了一个大范围的正方形,但是只能显示这个圆形范围的图像

 

5、交互

由于在canvas中整个canvas是作为一个画布,而且其中画出的各种图形都无法将其作为一个对象通过事件绑定的形式进行交互,所以在canvas中的事件绑定是直接绑定在canvas上,然后通过对用户在canvas画布上操作的坐标的判断进行交互。

其中最基本的方法如下

a、对canvas标签进行事件绑定,JS以及jQuery都成

b、获取在画布上用户操作的坐标

var x = event.clientX - canvas.getBoundingClientRect().left;

var y = event.clientY - canvas.getBoundingClientRect().top;

它是通过计算用户在整个页面的操作坐标与canvas在页面的左上边距进行计算的

 

 

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • HTTP协议学习随笔 - 糖醋酸辣椒

    HTTP协议学习随笔 - 糖醋酸辣椒

    2017-05-01 18:03

  • vue全局配置----小白基础篇 - 星光笔

    vue全局配置----小白基础篇 - 星光笔

    2017-04-28 08:04

  • 【react学习】关于react框架使用的一些细节要点的思考 - 外婆的彭湖湾

    【react学习】关于react框架使用的一些细节要点的思考 - 外婆的彭湖

    2017-04-16 18:00

  • canvas知识点 - H.U.C-王子

    canvas知识点 - H.U.C-王子

    2017-04-16 10:02

网友点评
o