as3 绘制不规则图形

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了as3 绘制不规则图形相关的知识,希望对你有一定的参考价值。

如何将绘制好的六边形随机拼接成一个不规则图形,并沿着这个不规则的图形的边缘绘制一线条边框 不好意思,没分,麻烦帮忙下!

参考技术A mark

一起Talk Android吧(第四百零九回:绘制不规则图形)

文章目录

各位看官们,大家好,上一回中咱们说的例子是"间接绘制几何图形",这一回咱们介绍的例子是"绘制不规则图形"。闲话休提,言归正转,让我们一起Talk Android吧!

看官们,我们在前面章回中介绍了如何绘制几何图形,本章回中介绍将如何绘制不规则图形,比如五角形,六边形等。其实Canvas提供的画图方法有限,即使是几何图形也没有全部提供,比如常见的三角形,菱形。本章回中将会涉及到这些内容。

画不规则图形

画不规则图形主要通过路径来实现,我们计算好不规则图形中关键点的坐标,然后使用lineTo功能添加关键点到路径中,最后通过路径把不规则图形画出来。下面我们通过文字结合代码的方式来举例说明。

画三角形

//画三角形
//设置起点
path.moveTo(200,300);
//添加关键点:第一条边的终点,也是第二条边的起点
path.lineTo(200,300+100);
//添加关键点:第二条边的终点,
path.lineTo(200+100,300+100);
//关闭路径,把直线的起点和终点连接在一起
path.close();

画菱形

//画菱形
//设置起点
path.moveTo(200,300);
//添加关键点:第一条边的终点,也是第二条边的起点
path.lineTo(200+100,300);
//添加关键点:第二条边的终点,也是第三条边的起点
path.lineTo(200,300+100);
//添加关键点:第三条边的终点,也是第四条边的起点
path.lineTo(200-100,300+100);
//关闭路径,把直线的起点和终点连接在一起
path.close();

画五角形

//画五角形思路:先一条水平边,向右移动300,x+300,y不变
//画第二条边:向左下倾斜,x-250,y+150
//画第三条边:向右上倾斜,x+80,y-230
//画第四条边:向右下倾斜,x+130,y+230,最后连接路径的起点和终点
//设置起点
path.moveTo(100,100);
//添加关键点:第一条边的终点,也是第二条边的起点
path.lineTo(100+300,100);
//添加关键点:第二条边的终点,也是第三条边的起点
path.lineTo(100+300-250,100+150);
//添加关键点:第三条边的终点,也是第四条边的起点
path.lineTo(100+300-250+80,100+150-230);
//添加关键点:第四条边的终点,也是第五条边的起点
path.lineTo(100+300-250+80+130,100+150-230+230);
//关闭路径,把路径的起点和终点连接在一起
path.close();

画六边形

   //画六边形思路:先一条边,向右上倾,x+100,y-100
    //画第二条边:水平向右,x+100,y不变
    //画第三条边:向右下倾斜,x+100,y+100
    //画第四条边:向左下倾斜,x-100,y+100,
    //画第五条边:向左水平移动,x-100,y不变,
    // 最后连接路径的起点和终点
    //设置起点
    path.moveTo(200,200);
    //添加关键点:第一条边的终点,也是第二条边的起点
    path.lineTo(200+100,200-100);
    //添加关键点:第二条边的终点,也是第三条边的起点
    path.lineTo(200+100+100,200-100);
    //添加关键点:第三条边的终点,也是第四条边的起点
    path.lineTo(200+100+100+100,200-100+100);
    //添加关键点:第四条边的终点,也是第五条边的起点
    path.lineTo(200+100+100+100-100,200-100+100+100);
    //添加关键点:第五条边的终点,也是第六条边的起点
    path.lineTo(200+100+100+100-100-100,200-100+100+100);
    //关闭路径,把路径的起点和终点连接在一起
    path.close();

上面的这些图形都没有经过严格的计算,只能保证有个图形的轮廓。这样做可以减少繁杂的几何计算,让大家重点关注如何使用path中的相关方法来画图。缺点就是画出的图形不够美观。我在这里就不列出图形了,建议大家自己动手去实践。

使用总结

使用path可以绘制各种图形,其中包括几何图形和不规则图形,绘制的步骤如下:

  • 1.创建path对象
  • 2.在path中添加各种图形
  • 3.在画布上使用drawPath画出路径中的图形;

看官们,关于Android中"绘制不规则图形"的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!

以上是关于as3 绘制不规则图形的主要内容,如果未能解决你的问题,请参考以下文章

html5 canvas 怎么绘制不规则矢量图

FreeShadow - 绘制不规则阴影

Java 在PDF文档中绘制图形

FreeShadow - 绘制不规则阴影

绘制大量半透明矩形,wpf和GDI哪个效率高?

请问C# winform如何实现将一个不规则形状的图片弄成按键?