zoukankan      html  css  js  c++  java
  • 新人补钙系列教程之:图片与二进制或字符串相互转换

    研习 google buffer protocol 让我们知道二进制是万物之源。废话不说了,代码之:

    一:图片转字符

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

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

    二:字符转图片

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

    1. var spr:Sprite=new Sprite;    
    2. var Base64:Base64Decoder=new Base64Decoder;    
    3. Base64.decode(imageStr);//读取字符串    
    4. var bytes:ByteArray=Base64.toByteArray();//转化为ByteArray数据    
    5. var load:Loader=new Loader();    
    6. load.loadBytes(bytes);//读取ByteArray    
    7. load.contentLoaderInfo.addEventListener(Event.COMPLETE, complete);    
    8. function complete(event:Event):void {    
    9.     var bitMap:Bitmap=event.target.content as Bitmap;//读取Bitmap    
    10.     spr.addChild(bitMap);    
    11. }  
    复制代码
  • 相关阅读:
    如何增强Linux和Unix服务器系统安全性
    FTP连接不上的解决方法
    PHP获取当前服务器详细信息
    要想提高电脑开机速度首先需要设置这几个功能
    Centos7下安装iptables防火墙
    centos下LVM配置与管理
    基于LNMP环境的ssh2扩展
    60个开发者不容错过的免费资源库
    MySql命令的基本操作
    存储过程 分页【NOT IN】和【>】效率大PK 千万级别数据测试结果
  • 原文地址:https://www.cnblogs.com/keng333/p/2299776.html
Copyright © 2011-2022 走看看