zoukankan      html  css  js  c++  java
  • Loader.contentLoaderInfo.bytes

      习惯上,我们是用 Loader 加载可视的文件,例如 jpg、png、swf 等等。但个别情况下,我们还需要对已加载文件的二进制数据进行处理,这种情况下我第一时间想到的就是 URLLoader 类。在我的脑里习惯上是这样认为的:Loader 的工作是把可视文件显示在舞台上,而 URLLoader 的工作是获得任何文件的二进制数据,但其实不然。对于图片和 swf 文件,既想把它们放到显示列表又想对其二进制数据进行处理,只使用 Loader 即可。其二进制数据由 Loader.contentLoaderInfo.bytes 间接获得。为什么说间接?因为 Loader.contentLoaderInfo.bytes 不完全是文件的原始二进制数据(ByteArray)。Flash Player 对其进行处理过。
    
            事实上,Loader.contentLoaderInfo.bytes 是一个符合 SWF 文件格式的二进制数据。你可以做一个测试:用 Loader 加载一张图片后,使用 FileReference.save() 方法把 Loader.contentLoaderInfo.bytes 保存到本地,扩展名为“.swf”。你可以用 Flash Player 成功地打开它。甚至,你还可以按照 SWF 文件格式解析 Loader.contentLoaderInfo.bytes 。
    
            那么,使用 Loader 加载一张图片,要如何才能获得图片的原始二进制数据呢?我做过测试,去掉 Loader.contentLoaderInfo.bytes 最前的 45 字节和最后的 17 字节,剩下中间部分就是图片的原始二进制数据了。
    
  • 相关阅读:
    app.config应该放哪?
    Connection 和Dispose的学习日志
    简单的sqlhelper的学习日志
    EF 事务(非分布式事务)
    Angularjs 地址联动2.1.1
    C# 如何物理删除有主外键约束的记录?存储过程实现
    C# 枚举基本用法及扩展方法
    JS 去除重复元素的方法
    MVC4程序运行报错
    ASP.NET MVC4 & Entity Framework 6.0 IIS 部署出错解决方案
  • 原文地址:https://www.cnblogs.com/sinsoul/p/1984123.html
Copyright © 2011-2022 走看看