drawTriangles函数概述
HTML5又有新玩法了,推出了画三角形函数 drawTriangles,可以随意改图型,就像在电脑上拿着鼠标随便拖一样好玩儿。这和Flash的as3很像,用起来差不多。你只需要懂怎么设定坐标、安排三角形位置和控制顶点大小,就能玩转图片了。接下来和我学学咋用这个牛逼的drawTriangles,还有实战案例让你感受下它的厉害。
drawTriangles函数参数介绍
画个图得先搞清楚每个点在哪儿,不然怎么知道哪些地方有哪些点点和它们的位置?
记住indices这个词儿,画美美的三角型就靠它了!眼馋吗?跟着它们来上几笔,你也能随手画出各种各样的炫酷图案~
drawTriangles(vertices, indices, uvtData,thickness,color) vertices:由数字构成的矢量,其中的每一对数字将被视为一个坐标位置(一个 x, y 对)。vertices 参数是必需的。 indices:一个由整数或索引构成的矢量,其中每三个索引定义一个三角形。 如果 indexes 参数为 null,则每三个顶点(vertices 矢量中的 6 对 x,y)定义一个三角形。否则,每个索引将引用一个顶点,即 vertices 矢量中的一对数字。 例如,indexes[1] 引用 (vertices[2], vertices[3])。 uvtData:由用于应用纹理映射的标准坐标构成的矢量。 每个坐标引用用于填充的位图上的一个点。每个顶点必须具有一个 UV 或一个 UVT 坐标。对于 UV 坐标,(0,0) 是位图的左上角,(1,1) 是位图的右下角。 thickness:分割三角形的边框的线粗 color:分割三角形的边框的颜色
别忘了uvtData这个神奇的值,它让你决定每个点在整个图里的大小。想怎么捏就怎么捏,拖拽和转角度也轻松无压力!
drawTriangles函数使用示例
告诉你件事儿,只要学会LSprite的icons属性,再借用beginBITMAPFILL和drawTRIANGLES这两个辅助工具,你就能简单地画出超有艺术感的图案!快来学习下如何巧妙运用drawTRIANGLES这个惊艳的功能!
示例一:线宽设置为2,颜色为白色
给线条加粗加大,选颜色,简单如四、五步搞定!比如说,你改动下线宽到2,再选白色,立刻画风突变,周边清晰分明。
示例二:定义三角形
你猜怎么着?这个三角形竟然是叫做indices的那个小哥用做饭的方法捏出来的!这样啊——咱们只要在hedron里面找三个死紧贴的点,就能硬生生地搞出个三角形来!而且他还能按左上、右上、左下的规律自由组合出各种形状来,厉害!
vertices = new Array(); vertices.push(0, 0); vertices.push(0, 120); vertices.push(0, 240); vertices.push(120, 0); vertices.push(120, 120); vertices.push(120, 240); vertices.push(240, 0); vertices.push(240, 120); vertices.push(240, 240);
示例三:定义顶点相对比例
uvtdata就是告诉你怎么办?给你介绍个好东西,让你能找到图片中的顶点和原来的图像对应关系。然后,无论你怎么放大放小,都会很准确
更多应用场景
indices = new Array(); indices.push(0, 3, 1); indices.push(3, 1, 4); indices.push(1, 4, 2); indices.push(4, 2, 5); indices.push(3, 6, 4); indices.push(6, 4, 7); indices.push(4, 7, 5); indices.push(7, 5, 8);
别把画三角形当课堂玩具,其实它有很多玩法!举个例子,我们可以把照片剪成小的三角形状,然后随意移动拼凑,你猜会搞出什么名堂?
自制简陋图片修饰工具
Draw Triangles这个玩意儿简直就是魔法小助手,分分钟就能画出美美的画出来~给它张照片,想怎么整就这么整,玩起来超爽的!还有,它还能激发我们的创造力,趣味无穷!
结语与展望
HTML5里那个叫drawTriangles的函数你们知道咋用不?快来看看这篇文章,一看就明白,对你做网页开发帮助很大。别再纠结,快去试试看,说不定还能找到惊喜!
uvtData = new Array(); uvtData.push(0, 0); uvtData.push(0, 0.5); uvtData.push(0, 1); uvtData.push(0.5, 0); uvtData.push(0.5, 0.5); uvtData.push(0.5, 1); uvtData.push(1, 0); uvtData.push(1, 0.5); uvtData.push(1, 1);
评论0