把图片转化为二进制或字符串,用于在网络中发送与存储数据.
一:图片转字符
过程:DisplayObject>bitmapData>ByteArray>Base64>String
把图片转化为二进制或字符,使用AS3自带的JPEGEncoder和PNGEncoder,其中JPEG格式就算使用100%的品质在还原时还是失真得比较严重.
下面是把位图的bitmapData数据转化为二进制数据,再输出成字符串形式.
var bitmapData:BitmapData = new BitmapData(image.width,image.height);
bitmapData.draw(image);//转化为BitmapData数据
var encoder:PNGEncoder = new PNGEncoder();//也可以使用JPEG格式 new JPEGEncoder(100)
var bytes:ByteArray=encoder.encode(bitmapData);//转化为二进制数据
var Base64:Base64Encoder=new Base64Encoder;//将字符串或 ByteArray 编码为 Base64 编码的字符串。
var imageStr:String=Base64.toString();//输出为字符串
二:字符转图片
过程:String>Base64>ByteArray>Bitmap>DisplayObject
还原时,先使用Base64Decoder转为Base64编码的ByteArray,再用Loader对象来读取为Bitmap,完成还原过程.
var spr:Sprite=new Sprite;
var Base64:Base64Decoder=new Base64Decoder;
Base64.decode(imageStr);//读取字符串
var bytes:ByteArray=Base64.toByteArray();//转化为ByteArray数据
var load:Loader=new Loader();
load.loadBytes(bytes);//读取ByteArray
load.contentLoaderInfo.addEventListener(Event.COMPLETE, complete);
function complete(event:Event):void {
var bitMap:Bitmap=event.target.content as Bitmap;//读取Bitmap
spr.addChild(bitMap);
}
分享到:
相关推荐
"易语言字节集到二进制互转源码"这个压缩包文件提供了一组源代码,用于在易语言环境中实现字节集与二进制数据之间的相互转换。这通常是为了解决以下场景中的问题: 1. **数据读写**:当需要从文件中读取或写入二...
本压缩包"pb数字进制间相互转化(源码)"提供了在PowerBuilder中实现不同进制之间转换的源代码,包括十六进制(Hexadecimal)、十进制(Decimal)和二进制(Binary)之间的转换。以下是这些转换方法的详细解释: 1. *...
在命令转换方面,当从文本协议转换到二进制协议时,我们需要将文本数据转化为二进制表示,这通常涉及到编码转换,如ASCII到UTF-8,或者对字符串进行字节序列化。反之,从二进制到文本则需要解码或反序列化这些字节。...
例如,如果你要返回一个包含图片的二进制流: ```csharp [WebMethod] public byte[] GetBinaryData() { // 读取图片文件到字节数组 byte[] imageData = File.ReadAllBytes("path_to_image.jpg"); return ...
PowerBuilder提供了将BLOB数据与16进制字符串相互转换的功能,使得数据可以在不同环境之间更方便地传递和存储。 将BLOB转换为16进制字符串的过程是这样的: 1. **读取BLOB数据**:首先,你需要使用PowerBuilder的...
2. 字节集:字节集是一种可以存储任意二进制数据的数据类型,它可以用来表示图片、音频文件、加密数据等非结构化的数据。在易语言中,字节集通常用作与外部数据交互的桥梁,例如读写文件、网络通信等。 二、文本与...
### 各种图片格式的具体分析及相互转换 #### 图片格式概述 图像文件是指通过数字化技术获取并存储在计算机中的图像数据。根据图像数据的存储形式,主要分为两大类:位图(Bitmap)和矢量图(Vector)。本文主要...
`MemoryStream`是一个内存中的流,适合处理二进制数据,如图片。 2. 使用`Image.Save()`方法将图片保存到`MemoryStream`,指定`ImageFormat`,这里我们选择GIF格式,也可以选择其他格式如JPEG、PNG等。 3. 创建一个`...
NSData通常用于存储二进制数据,如图片、音频或任何其他非文本格式的数据,而NSString则专门用于处理文本内容。在实际应用中,我们经常需要在这两种类型之间进行转换,以便进行各种操作。这个“ios demo,NSData和...
Java 文件转换应用源码项目是一个基于Java 1.8开发的实用工具,它提供了丰富的文件转换功能,包括PDF与Word之间的互相转换、图像格式转换、PDF转为图片以及Base64编码与文件之间的相互转换。这个项目对于需要处理...
2. **BLOB**:在数据库系统中,BLOB是一种特殊的数据类型,用于存储大量的二进制数据,如图像、音频、视频或者任何其他非结构化的二进制文件。在PowerBuilder中,你可以创建和操作BLOB字段来存储这类数据。 在Power...
首先,`NSData`是一个用于存储二进制数据的对象,它可以包含任何字节流,如图片数据、音频数据或序列化后的对象数据。在Objective-C中,`NSData`经常用于处理网络请求的数据或存储本地文件。 1. **NSData 转 ...
3. **像素映射**:将二进制的文本数据与图片的像素值相互对应。常见的做法是将文本数据分割成多个小块,然后逐个替换图片的像素值,或者将文本数据的二进制序列直接嵌入到图片的某些像素中。 4. **加密过程**:通过...
"C# 图片与Base64码的相互转化问题" C# 图片与Base64码的相互转化是计算机编程中的一种常见技术,通过将图片转换为Base64码,可以实现图片的网络传输和存储,而将Base64码转换回图片,则可以将图片恢复到原始状态。...
字节集的文本化过程就是将这些二进制数据转化为可读的字符串形式,这对于调试、日志记录或者显示给用户查看是很有帮助的。 模块在易语言中相当于其他编程语言的库或类,它封装了一组相关的函数或方法,供其他程序...
1. **数据处理**:易语言提供了丰富的数据类型,如整型、浮点型、字符串等,我们需要将这些数据转换成二进制格式。这可以通过易语言的“数据流”或“字节集”类型来实现。 2. **图像处理**:易语言虽然不像Python或...
9. 十进制与二进制转换:十进制数14对应的二进制数是1110。 10. 十六进制与八进制转换:十六进制数(AB)16转换为八进制是243。 11. 微机唯一能直接识别的语言:机器语言,是计算机的原始指令集。 12. 网页特效的...
因此,将图片转换为16进制数据,实际上就是将图像的二进制流转换为人类可读的字符串形式。 在Java中,我们可以使用`java.io`和`java.util`库来实现这个过程。首先,我们需要读取图片文件,这通常通过`...
- **doc**:是早期版本的Word(2003及更早)使用的文件格式,基于二进制格式,文件大小相对较大,且兼容性不如docx。 在这两种格式之间的转换通常很简单,因为Microsoft Word自身就支持这种转换。此外,也有许多...