BitmapData 与 ByteArray 互相转换
来源:互联网 发布:mac os cdr镜像下载 编辑:程序博客网 时间:2024/05/01 16:05
package com.klstudio.images
{
import flash.display.BitmapData;
import flash.geom.Rectangle;
import flash.utils.ByteArray;
public class BitmapBytes
{
public static function encodeByteArray(data:BitmapData):ByteArray{
if(data == null){
throw new Error("data参数不能为空!");
}
var bytes:ByteArray = data.getPixels(data.rect);
bytes.writeShort(data.width);
bytes.writeShort(data.height);
bytes.writeBoolean(data.transparent);
bytes.compress();
return bytes;
}
// public static function encodeBase64(data:BitmapData):String{
// return Base64.encodeByteArray(encodeByteArray(data));
// }
public static function decodeByteArray(bytes:ByteArray):BitmapData{
if(bytes == null){
throw new Error("bytes参数不能为空!");
}
bytes.uncompress();
if(bytes.length < 6){
throw new Error("bytes参数为无效值!");
}
bytes.position = bytes.length - 1;
var transparent:Boolean = bytes.readBoolean();
bytes.position = bytes.length - 3;
var height:int = bytes.readShort();
bytes.position = bytes.length - 5;
var width:int = bytes.readShort();
bytes.position = 0;
var datas:ByteArray = new ByteArray();
bytes.readBytes(datas,0,bytes.length - 5);
var bmp:BitmapData = new BitmapData(width,height,transparent,0);
bmp.setPixels(new Rectangle(0,0,width,height),datas);
return bmp;
}
// public static function decodeBase64(data:String):BitmapData{
// return decodeByteArray(Base64.decodeToByteArray(data));
// }
public function BitmapBytes() {
throw new Error("BitmapBytes类只是一个静态类!");
}
}
}
//注释的部分是在我这里编译没有通过,Base64 不知是哪里的一个对象.原创也没有贴出来,希望有知道的朋友贴在下面.
- BitmapData 与 ByteArray 互相转换
- Flex中利用ByteArray与BitmapData互相转换实现图片的二进制保存与复原
- Flex中利用ByteArray与BitmapData互相转换实现图片的二进制保存与复原
- Flex中利用ByteArray与BitmapData互相转换实现图片的二进制保存与复原
- Flex中ByteArray与BitmapData互相转换实现图片的二进制保存与复原
- Flex中利用ByteArray与BitmapData互相转换实现图片的二进制保存与复原
- Flex中ByteArray与BitmapData互相转换实现图片的二进制保存与复原
- Flex中ByteArray与BitmapData互相转换实现图片的二进制保存与复原 .
- Flex中利用ByteArray与BitmapData互相转换实现图片的二进制保存与复原
- Flex中ByteArray与BitmapData互相转换实现图片的二进制保存与复原
- bytearray和bitmapdata之间的转换
- bitmapData和bytearray互转
- flex_String 和 ByteArray 如何进行互相转换;
- [AS3]BitmapBytes类-实现BitmapData与ByteArray(Base64)之间互转功能
- Android bitmap bytearray转换
- String 与 int 互相转换
- 字符串与整数互相转换
- LogFont与CharFormat互相转换
- Flex的itemRenderer属性使用例子
- Mondrian系列(三)-如何设计Mondrian的Schema(1)
- linux经典书
- 第一次
- [VC]使用IDropTarget接口同时支持文本和文件拖放(1)(zt)
- BitmapData 与 ByteArray 互相转换
- 简历3
- MapReduce介绍
- How to create a FEA wizard?
- vs2008编译错误fatal error C1902: 程序数据库管理器不匹配;请检查安装解决
- 开发人员一定要加入收藏夹的网站
- 页面中js执行顺序----
- BUG管理规范
- C#调用存储过程返回值