二进制地图加载

我把一个 最初jpg图片 二进制数据的头取下固定字节存到我的flash程序里,  然后把这个图片剩下的部分二进制数据存放到数据库里面,当我需要这张图片时,我就从数据库里把这张图片 以二进制方式 下载到程序里,然后再加上程序里存放的固定头部,得到最初图片的二进制字节数组,然后我怎么把这个字节数组转换成最原先的图片呢?附代码如下:

//发出请求
           var url;
        url = “请求文件的网络路径,对不起不能公开,请谅解”;
        trace(url);
                                
        var loader:URLLoader = new URLLoader();
        loader.dataFormat = URLLoaderDataFormat.BINARY;
        loader.addEventListener(Event.COMPLETE,loadBackComplete);
        loader.addEventListener(IOErrorEvent.IO_ERROR, backIoErrorHandler);
        loader.load(new URLRequest(url));
        trace("back request is over");


//请求得到数据
private function loadBackComplete( evt:Event ) {
         //1 能得到数据,并且是对的                
        var imgbyte:ByteArray = URLLoader(evt.target).data as ByteArray;

        var backimgbyte = A.creatImg(imgbyte,jpghead0);     
               //2 把头部(jpghead0 这个是固定头部字节数组)和身体拼起来,这是我自己写的拼字节的函数
           trace(backimgbyte ); //到这里也是对的
        
                 backimgbyte.position = 0; 
                 //3 把字节数组的指针位置归零

        var bmd:BitmapData = new BitmapData(20,30,true,0); 
                // 4  宽高是固定的,32位支持alpha通道的位图,
        bmd.setPixels(bmd.rect, backimgbyte); // 5

        var bm:Bitmap = new Bitmap(bmd); //6

        backImg.bitmapData = bm.bitmapData;    //7    backImg 是我最终需要的东西                        
}


从 得到二进制数据后 到我 转换 的过程中,哪里出错了? 请大侠不吝赐教,先感谢下一来看我问题的会友们。。。
Loader有个loadBytes方法,作用就是讲二进制数据转为bitmap(前提是那二进制数据是图片)
你把你的图片头和其余部分先拼接起来,然后用这个方法转成图片。
posted on 2013-09-02 13:56  猎妖手  阅读(396)  评论(0编辑  收藏  举报