利用位图操作,切割图片

http://bbs.9ria.com/thread-88642-1-1.html 


  package

    {
            import flash.display.Bitmap;
            import flash.display.BitmapData;
            import flash.display.Loader;
            import flash.display.Sprite;
            import flash.events.Event;
            import flash.geom.Point;
            import flash.geom.Rectangle;
            import flash.net.URLRequest;
           
            [SWF(height = "1000",width = "1500",frameRate = "24",backgroundColor = "#ffffff")]
           
            public class Main extends Sprite
            {
                    private var loader:Loader;
                    public function Main()
                    {
                            //---------------加载图片---------------------
                            var url:String = "a.jpg";
                            loader = new Loader();
                            loader.load(new URLRequest(url));
                            //加载完成以后执行pleteHandler函数;
                            loader.contentLoaderInfo.addEventListener(Event.COMPLETE,pleteHandler);
                    }
                   
                    protected function pleteHandler(event:Event):void
                    {
                            var oldBitmap:Bitmap = Bitmap(loader.content);
                            var oldData:BitmapData = oldBitmap.bitmapData;
                            //定义行跟列;
                            var hang:uint = 4;
                            var lie:uint = 4;
                            //定义切割以后小图的大小;
                            var tempWidth:Number = oldData.width/hang;
                            var tempHeight:Number = oldData.height/lie;
                           
                            for(var i:uint = 0;i<hang;i++){
                                    for(var j:uint = 0;j<lie;j++){
                    //创建BitmapData,位图宽高为:tempWidth,tempHeight
                                            var tempData:BitmapData = new BitmapData(tempWidth,tempHeight);
                                            var rect:Rectangle = new Rectangle(i*tempWidth,j*tempHeight,tempWidth,tempHeight);
                                            //复制位图,第三个参数表示偏移量;
                                            tempData.copyPixels(oldData,rect,new Point());
                                           
                                            var bitmap:Bitmap = new Bitmap(tempData);
                                            this.addChild(bitmap);
                                            //图片布局;
                                            bitmap.x = (tempWidth+1)*i;
                                            bitmap.y= (tempHeight+1)*j;
                                    }
                            }
                    }
            }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值