zoukankan      html  css  js  c++  java
  • bitmapdata转成bytearray

    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了。

  • 相关阅读:
    制作一款3D炸弹超人游戏
    C#集合中的Add与AddRange方法
    NGUI与EasyTouch结合使用
    Buff系统的实现
    Buff系统框架设计
    Buff系统设计
    Linux 服务管理两种方式service和systemctl
    centos上为新创建的用户(git)指定根目录并生成公钥和私钥
    centos7安装php7
    centos7上安装mysql8(下)
  • 原文地址:https://www.cnblogs.com/regalys168/p/3830894.html
Copyright © 2011-2022 走看看