bitmapData和bytearray互转
来源:互联网 发布:排名易淘宝刷流量软件 编辑:程序博客网 时间:2024/05/22 06:59
bitmapdata转成bytearray有2种方式: 摘自网上
1、原始的保存各个像素点RGBA数据的bytearray
通过getPixels(rect:Rectangle) 方法,从像素数据的矩形区域生成一个字节数组。为每个像素将一个无符号整数(32位4字节RGBA未经相乘的像素值)写入字节数组。
这种方式得到的bytearray体积相当大,因为保存的是最原始的各个像素的信息。
经测试,一个1024*1024大小的bitmapdata,通过此方式转换为bytearray并保存在sharedobject中有4M之巨!其实手工算一下也应如此:1024*1024*4/1024/1024 = 4
通过此方式保存的bytearray,可以直接读取出来利用setPixels方法还原得到bitmapdata
2、通过encoder转换压缩后的bytearray
通过PNGEncoder、JPEGEncoder对bitmapdata进行encode转换为对应图像格式的bytearray,这时会根据对应图像格式的压缩算法转换为编码图像的bytearray,如JPEGEncoder 类使用联合图像专家组 (JPEG) 压缩将原始的位图图像转换为编码图像,PNGEncoder 类使用便携网络图形 (PNG) 无损压缩将原始位图图像转换为编码图像。
通过此方式保存的bytearray自然体积较小,如果要还原为bitmapdata,只能通过Loader.loadBytes(bytes:ByteArray, contextoaderContext)方法获取出图像,当然此时的bitmapdata已经不是完全完整的原bitmapdata了。
- bitmapData和bytearray互转
- bytearray和bitmapdata之间的转换
- BitmapData 与 ByteArray 互相转换
- ByteArray 和 String 互转
- Bitmap 和 BitmapData 类
- ByteArray
- Flex中利用ByteArray与BitmapData互相转换实现图片的二进制保存与复原
- Flex中利用ByteArray与BitmapData互相转换实现图片的二进制保存与复原
- AS3]Bitmap序列化(将BitmapData保存为原生Binary/ByteArray)
- [AS3]Bitmap序列化(将BitmapData保存为原生Binary/ByteArray)
- [AS3]Bitmap序列化(将BitmapData保存为原生Binary/ByteArray)
- Flex中利用ByteArray与BitmapData互相转换实现图片的二进制保存与复原
- Flex中ByteArray与BitmapData互相转换实现图片的二进制保存与复原
- Flex中利用ByteArray与BitmapData互相转换实现图片的二进制保存与复原
- Bitmap序列化(将BitmapData保存为原生Binary/ByteArray),AS3保存图像的方法
- Flex中ByteArray与BitmapData互相转换实现图片的二进制保存与复原
- Flex中ByteArray与BitmapData互相转换实现图片的二进制保存与复原 .
- Flex中利用ByteArray与BitmapData互相转换实现图片的二进制保存与复原
- Android 开发之 ---- 底层驱动开发(二)
- experience-ABAP
- 计算器
- 分页
- 利用J2MEUnit进行单元测试
- bitmapData和bytearray互转
- sizeof操作符的解说
- org.apache.commons.lang.StringUtils(StringUtils工具类的常用方法)
- tomcat的OutOfMemoryError解决方法
- 记事本
- 《设计模式 ● 责任链》之业务场景
- 120321 语言图谱
- 关于Linux环境下ArcGIS产品许可文件的查看和注册
- 用vi在同一个窗口中编辑多个文件