AS3位图任意形变

1.Matirx    

位移,缩放,平行扭区

 1 var matrix:Matrix = new Matrix();
 2 //x方向平移100,y方向平移200
 3 matrix.translate(100, 200);           
 4 //matrix.tx = 100;
 5 //matrix.ty = 200;
 6 //x方向缩放0.5,y方向缩放0.5
 7 matrix.scale(0.5, 0.5); 
 8 //matrix.a = 0.5;
 9 //matrix.d = 0.5;
10 //顺时针方向旋转45度
11 matrix.rotate(Math.PI/4);
12 //matrix.a = 0.707107;
13 //matrix.b = 0.707107;
14 //matrix.c = -0.707107;
15 //matrix.d = 0.707107;
16 bmp.transform.matrix = matrix;

 矩阵形变只能控制位移,绽放以及平行扭曲,记住扭区仅限于平行方向,如果需要四角任意拉伸,就需要三角形变了。

2.Graphics.drawTriangles()

drawTriangles(vertices:Vector.<Number>, indices:Vector.<int> = null, uvtData:Vector.<Number> = null, culling:String = "none"):void
 1 var canvas:Sprite = new Sprite();
 2 var vec:Vector.<Number> = new Vector.<Number>();
 3 vec.push(0,0,-40,180,250,180,210,0);
 4 var uvt:Vector.<Number> = new Vector.<Number>();
 5 uvt.push(0,0,0,1,1,1,1,0);
 6 var indices:Vector.<int> = new Vector.<int>();
 7 indices.push(0,1,2,3,2,0);
 8 canvas.graphics.beginBitmapFill(new bd());
 9 canvas.graphics.drawTriangles(vec,indices,uvt);
10 canvas.graphics.endFill();
11 canvas.x = 200;
12 canvas.y =100;
13 addChild(canvas);

官方文档参考:http://help.adobe.com/zh_CN/as3/dev/WS84753F1C-5ABE-40b1-A2E4-07D7349976C4.html

转载于:https://www.cnblogs.com/cc523/archive/2013/05/24/3096704.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值