`
- 浏览:
101479 次
- 性别:
- 来自:
北京
-
bitmapData和ByteArray之间的装换
这是我工作中遇到的一个问题,才发现原来ByteArray和ByteMapData之间存在着这种转换关系,很感谢原创作者的共享。现在把它保存起来便于以后的回顾。
package com.klstudio.images {
import flash.display.BitmapData;
import flash.geom.Rectangle;
import flash.utils.ByteArray;
import com.klstudio.util.Base64;
public class BitmapBytes {
public static function encodeByteArray(data:BitmapData):ByteArray{
if(data == null){
throw new Error("data参数不能为空!");
}
var bytes:ByteArray = data.getPixels(data.rect);
bytes.writeShort(data.width);
bytes.writeShort(data.height);
bytes.writeBoolean(data.transparent);
bytes.compress();
return bytes;
}
public static function encodeBase64(data:BitmapData):String{
return Base64.encodeByteArray(encodeByteArray(data));
}
public static function decodeByteArray(bytes:ByteArray):BitmapData{
if(bytes == null){
throw new Error("bytes参数不能为空!");
}
bytes.uncompress();
if(bytes.length < 6){
throw new Error("bytes参数为无效值!");
}
bytes.position = bytes.length - 1;
var transparent:Boolean = bytes.readBoolean();
bytes.position = bytes.length - 3;
var height:int = bytes.readShort();
bytes.position = bytes.length - 5;
var width:int = bytes.readShort();
bytes.position = 0;
var datas:ByteArray = new ByteArray();
bytes.readBytes(datas,0,bytes.length - 5);
var bmp:BitmapData = new BitmapData(width,height,transparent,0);
bmp.setPixels(new Rectangle(0,0,width,height),datas);
return bmp;
}
public static function decodeBase64(data:String):BitmapData{
return decodeByteArray(Base64.decodeToByteArray(data));
}
public function BitmapBytes() {
throw new Error("BitmapBytes类只是一个静态类!");
}
}
}
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
位图数据处理,主要用于位图的找图找色:BitmapData.pas 實現按键精靈的功能:kbKernel.pas
最近要转开发平台,正研究C#。C#好是好,不过处理图片时一个像素一个像素的操作像素不是一般的慢。其实Delphi也一样,但好在Delphi的Bitmap类提供了ScanLines,可以一行一...经过一番搜索,终于发现了C# BitmapData类。
ActionScript 3 BitmapData 的例子 有助于你了解ActionScript 3位图!
delphi 找图找色 BitmapData.pas 使用方法请到原作者yeye55的blog查看, http://yeye55blog.blog.163.com/blog/static/19724102120111043252016/
NULL 博文链接:https://as3.iteye.com/blog/964080
想把 draw方法弄明白
EaselJS的位图数据EaselJS的BitmapData将AS3(例如BitmapData)添加到EaselJS。例1 // create BitmapData by HTMLImageElement_bmd01 = new createjs.BitmapData(HTMLImageElement);_bitmap01 = new createjs.Bitmap...
as2.0 模拟火焰 import flash.display.*...var blueSpot: BitmapData = new BitmapData( clipBounds.xMax, clipBounds.yMax, true, 0 ) blueSpot.draw( blueSpotClip, new Matrix() ) blueSpotClip.removeMovieClip()
王者找图对比程序,delphi制作,设定一个图,找另一个图上是否有这个图!
一个delphi下用于快速找图找色的单元,很好用!!! 原下载地址已经全部失效,在这里分享给大家,希望使用delphi的朋友能够喜欢。
BitmapData类实例 运用噪声制作一些好的效果 源码
Flex RIA AS3网页游戏 BitmapData CopyPixel用法.rar
NULL 博文链接:https://1299020954.iteye.com/blog/2148197
这是一个定义文件,用于将 BitmapData 类用于 CreateJS 和 TypeScript。 如何使用 是定义文件体。 请从 TypeScript 程序中读取并使用它。 请注意,单独使用此文件是行不通的,并且需要确定类型的画架。
本文主要通过彩色图象灰度化来介绍C#处理数字图像的3种方法,Bitmap类、BitmapData类和Graphics类是C#处理图像的的3个重要的类。 Bitmap只要用于处理由像素数据定义的图像的对象,主要方法和属性如下: ...
function DecodeWebp(webpByteArray : ByteArray ) : BitmapData ; function EncodeWebp(input : BitmapData , quality : Number ) : ByteArray ; SWC 支持所有平台,包括 Web。 它使用 FlashCC,因此它是可移植的...
NULL 博文链接:https://kinglong.iteye.com/blog/1609379
NULL 博文链接:https://as3.iteye.com/blog/909389
通过PNGEncoder、JPEGEncoder对bitmapdata进行encode转换为对应图像格式的bytearray,这时会根据对应图像格式的压缩算法转换为编码图像的bytearray,如JPEGEncoder 类使用联合图像专家组 (JPEG) 压缩将原始的位图...
使用强大的BitmapData类处理图像,图像的每一个通道和每一点像素; 使用新的Pixel Bender技术来创建用于位图滤镜的ActionScript着色器、混合模式和填充模式; 在图像、文本和视频上应用动态的、可复用的效果,同时...