HTML5技术

canvas绘图基础 - 24k-小清新(2)

字号+ 作者:H5之家 来源:H5之家 2015-10-28 16:11 我要评论( )

context.font= ;context.textAlign = ; // "start" "end" "left" "right" context.textBaseline = ; // "top" "bottom" "hanging" "alphabetic" "ideographic" context.fillText( , 100 , 20 ); View Code 有时候,

context.font=; context.textAlign = ;//"start" "end" "left" "right" context.textBaseline = ;//"top" "bottom" "hanging" "alphabetic" "ideographic" context.fillText(,100,20);

View Code

有时候,我们需要将我们的文本控制在某一个区域中的时候,那么会用到measureText()方法,传入一个参数(我们需要显示的字符串),得到的对象里面有个width属性,返回最佳的width,假如说我们现在想在width=150px的画布上显示合适的字体的话,可以这样

1 var font_size = 40px; (context.measureText()>600px){ 4 font_size--; } ,10,10);

View Code

绘制变换,即是如css3中transform变换,创建绘制上下文时,会以默认值初始化变换矩阵,在默认的变换矩阵中下,所有处理是直接绘制。有如下这些变化:

rotate(angle);//angle是弧度

scale(x1,y1);//放大缩小,在x方向乘以x1,在y方向乘以y1

translate(x,y);//将坐标原点移动到(x,y),好了(x,y)它就变成原点了

transform(m1_1,m1_2,m2_1,m2_2,dx,dy);//直接改变矩阵

setTransform(m1_1,m1_2,m2_1,m2_2,dx,dy);//设置矩阵,对于矩阵详解:矩阵/

排列方式:,其对应的排列方式是这样的,与transform: matrix(a,b,c,d,e,f);还是不一样滴!

绘制图像,把一副图像绘制到画布上,,可以使用drawImage()方法,可以这样

context.drawImge(image,x,y,width,height,rx,ry,rwidth,rheight);//各个参数分别是:image图像对象,源图像的x坐标、源图像的y坐标,源图像的宽度,源图像的高度,目标图像的x坐标,目标图像的y坐标,目标图像的宽度,目标图像的高度,一般只需要前五个参数,就可以画出一个图像出来了!

View Code

 阴影,有以下这几个属性:

); context.shadowColor = ;//阴影颜色 context.shadowOffsetX = 5;//阴影x的偏移量 context.shadowOffsetX = 5;//阴影y的偏移量 context.shadowBlur = 4;//阴影的模糊距离

View Code

 渐变,分为线性渐变和径祥渐变,分别是createLinearGradient()和createRadialGradient(),使用如下:

gradient.addColorStop(); gradient.addColorStop();context.fillStyle= gradient; 8 9 conetxt.fillRect(30,30,40,40); gradient = context.createRadialGradient(gradient.addColorStop(); gradient.addColorStop();context.fillStyle= gradient; 20 21 conetxt.fillRect(30,30,40,40);

View Code

 模式,意思就是重复的图像来填充画布了,也可以叫做纹理填充,一般使用的方法createPattern,使用如下:

1 var image = document.images[0]; pattern= context.createPattern(image,);context.fillStyle = pattern; 6 7 conetext.fillRect(10,10,150,150);

View Code

对于canvas绘图的基础就差不多怎么多了,以后还需努力学习,将其用在实际项目上,而对于webGL这种3d上下文就暂时不去学习,这几天看得晕晕的,感觉目前对自己也没什么用处!

 

 

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

相关文章
  • vue全局配置----小白基础篇 - 星光笔

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

    2017-04-28 08:04

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

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

    2017-04-16 10:02

  • canvas实现黑客帝国矩形阵 - 风雨后见彩虹

    canvas实现黑客帝国矩形阵 - 风雨后见彩虹

    2017-03-30 09:00

  • canvas画直角坐标系 - shbwh-tswq

    canvas画直角坐标系 - shbwh-tswq

    2017-03-18 10:02

网友点评
: