惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Schneier on Security
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
P
Palo Alto Networks Blog
AWS News Blog
AWS News Blog
Latest news
Latest news
Microsoft Security Blog
Microsoft Security Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
Vulnerabilities – Threatpost
大猫的无限游戏
大猫的无限游戏
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
月光博客
月光博客
C
CERT Recently Published Vulnerability Notes
T
Tenable Blog
雷峰网
雷峰网
K
Kaspersky official blog
人人都是产品经理
人人都是产品经理
C
Cybersecurity and Infrastructure Security Agency CISA
L
Lohrmann on Cybersecurity
T
The Exploit Database - CXSecurity.com
T
Tor Project blog
A
Arctic Wolf
Project Zero
Project Zero
F
Fortinet All Blogs
T
Threatpost
D
Darknet – Hacking Tools, Hacker News & Cyber Security
S
SegmentFault 最新的问题
P
Privacy & Cybersecurity Law Blog
D
DataBreaches.Net
量子位
Cisco Talos Blog
Cisco Talos Blog
博客园 - 【当耐特】
V
Visual Studio Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
博客园 - 叶小钗
I
Intezer
G
GRAHAM CLULEY
Google Online Security Blog
Google Online Security Blog
T
The Blog of Author Tim Ferriss
T
Troy Hunt's Blog
Y
Y Combinator Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
C
Cyber Attacks, Cyber Crime and Cyber Security
Hacker News: Ask HN
Hacker News: Ask HN
M
MIT News - Artificial intelligence
N
News | PayPal Newsroom
Cyberwarzone
Cyberwarzone
V
V2EX
腾讯CDC
Webroot Blog
Webroot Blog
MongoDB | Blog
MongoDB | Blog

博客园 - OldHawk

android:themes.xml android:style.xml How to merge two images into one using Actionscript Fms3中client端与server端交互方式汇总 Flex(flash)检测摄像头的3种状态(是否被占用,没安装摄像头,正常) - OldHawk - 博客园 推荐几个Adobe Flex Builder 3的插件(代码格式化和fms服务器通讯文件(main.asc)编写) - OldHawk flex4中list与itemRenderer项目渲染器中子对象之间访问 install flashpolicyd Linux环境如何升级Python linux运行级别查看并更改研究 Flash builder 4 (Flex builder 4) 正式版序列号生成器 (转)基于svnserve的服务器,权限文件authz配置的常见问题及解答 Linux下SVN安装配置记录 (转)谈linux安全设置 Linux安全配置步骤简述 对linux安全设置中需要注意和掌握的地方 Linux操作系统下SSH默认22端口修改方法 MSDN帮助文档 "无法显示该网页" 的问题解决方案(转) - OldHawk 修改flex应用默认的装载界面
图片与二进制及字符相互换化(转)
OldHawk · 2009-10-23 · via 博客园 - OldHawk

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

一:图片转字符

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

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

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

As代码
ar 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,完成还原过程.

As代码
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);    
}