图片与二进制及字符相互换化

本文介绍如何使用AS3将图片转换为二进制或字符串形式进行网络传输与存储,并提供了详细的代码实例,包括图片到字符及字符到图片的转换过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

把图片转化为二进制或字符串,用于在网络中发送与存储数据.

一:图片转字符

过程:DisplayObject>bitmapData>ByteArray>Base64>String

把图片转化为二进制或字符,使用AS3自带的JPEGEncoder和PNGEncoder,其中JPEG格式就算使用100%的品质在还原时还是失真得比较严重.

下面是把位图的bitmapData数据转化为二进制数据,再输出成字符串形式.


var bitmapData:BitmapData = new BitmapData(image.width,image.height);
bitmapData.draw(image);//转化为BitmapData数据
var encoder:PNGEncoder = new PNGEncoder();//也可以使用JPEG格式 new JPEGEncoder(100)
var bytes:ByteArray=encoder.encode(bitmapData);//转化为二进制数据
var Base64:Base64Encoder=new Base64Encoder;//将字符串或 ByteArray 编码为 Base64 编码的字符串。
var imageStr:String=Base64.toString();//输出为字符串


二:字符转图片

过程:String>Base64>ByteArray>Bitmap>DisplayObject

还原时,先使用Base64Decoder转为Base64编码的ByteArray,再用Loader对象来读取为Bitmap,完成还原过程.


var spr:Sprite=new Sprite;
var Base64:Base64Decoder=new Base64Decoder;
Base64.decode(imageStr);//读取字符串
var bytes:ByteArray=Base64.toByteArray();//转化为ByteArray数据
var load:Loader=new Loader();
load.loadBytes(bytes);//读取ByteArray
load.contentLoaderInfo.addEventListener(Event.COMPLETE, complete);
function complete(event:Event):void {
var bitMap:Bitmap=event.target.content as Bitmap;//读取Bitmap
spr.addChild(bitMap);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值