将ByteArray发送给JavaScript

Ale*_*lex 9 javascript apache-flex flash bytearray actionscript-3

如何ByteArray从as3 发送jpg图像到javascript?以及如何ByteArray在javascript中转换为图像?

Eri*_*Law 2

当前 Web 浏览器的 JavaScript 和 DOM 实现并没有真正具有执行此类操作的良好机制。

最好的选择是让 AS3 返回带有 Base64 编码版本的图像的 DATA 协议 URI。现代浏览器(IE8+、FF2+等)将接受 DATA URI 作为 IMG 标签的 SRC,并渲染其中包含的图像。

http://en.wikipedia.org/wiki/Data_URI_scheme

您必须让 AS3 专家解释如何将字节数组转换为 Base64 编码的字符串,但这并不难。

  • 根据记录,进行转换的方法是:获取 DisplayObject(Sprite/MovieClip/其他),将其转换为 BitmapData(myBitmapData.draw(mySprite);),使用 adobe 的 AS3CoreLib 将其转换为 PNG(myByteArray = PNGEncoder.编码(myBitmapData);),使用Flex的Base64Encoder(myBase64Encoder.encodeBytes(myByteArray);)将其转换为Base64,然后使用ExternalInterface将其导出到某些Javascript函数。 (2认同)