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了。
?
?
轉載于:https://www.cnblogs.com/regalys168/p/3830894.html
總結
以上是生活随笔為你收集整理的bitmapdata转成bytearray的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 覃氏娘子美妆首, 琼浆
- 下一篇: magic5怎么读