Kevinblog

如鱼饮水,冷暖自知

AS3中ByteArray转换为Bitmap的一种另类方法

作者: kenkyoken
时间: 2013-05-27 01:05:18
分类: 脑残时刻
关键字:
as3
bytearray
bitmap

对于ByteArray形式的图像,其实用BitmapData的setPixels来处理我觉得不是一个很好的方法。除非你在处理前就已经确切地清楚图像的尺寸,否则根据ByteArray的内容来计算图像的尺寸,我觉得是很繁琐的。

但其实,换一个思路,用Loader来处理难道不行么。于是就有了下面这个方法。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import flash.net.URLRequest;
import flash.net.URLLoader;
import flash.events.Event;
import flash.utils.ByteArray;
import flash.display.Loader;
 
var initHandler:Function = function(E:Event):void {
    trace (E.currentTarget.content);//这个就是一个bitmap对象
};
 
var steamHandler:Function = function(E:Event):void {
    var b:ByteArray = E.currentTarget.data as ByteArray;
    var l2:Loader = new Loader;
    l2.contentLoaderInfo.addEventListener(Event.INIT, initHandler);
    l2.loadBytes(b);
};
 
var r:URLRequest = new URLRequest('247009_10151458099522746_393026092_n.jpg');
var l:URLLoader = new URLLoader;
l.dataFormat = 'binary';
l.addEventListener(Event.COMPLETE,steamHandler);
l.load(r);

 

新评论:

粤ICP备15003813号-1
CopyRight © 2010-2025 by Kevin.Yuan .All rights reserved.