Javascript + ActionScript : How to convert bytearray returned from Actionscript to image in Javascript

标签 javascript actionscript-3

我通过 ExternalInterface 调用将字节数组从 ActionScript 返回到 Javascript。现在,我必须将这个 byteaarray 转换为 Javascript 代码中的图像。请帮助...任何示例代码...

提前致谢...

最佳答案

我看到了这个问题的两个可能的解决方案,我都没有测试过,所以尝试一下:

HTML5 Canvas

首先,使用 ActionScript 将您的字节数组转换为整数数组。您将需要四个值:

  • 红色
  • 绿色
  • 蓝色
  • 阿尔法

将其传输到 Javascript,使用字符串表示或纯数字,然后将这些数字加载到 Canvas 中:

var canvasData = ; // data from actionscript
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
var imgData=ctx.createImageData(100,100);
for (var i=0;i<imgData.width*imgData.height*4;i+=4)
{
  imgData.data[i+0]=canvasData[i][0]; // red
  imgData.data[i+1]=canvasData[i][1]; // green
  imgData.data[i+2]=canvasData[i][2]; // blue
  imgData.data[i+3]=canvasData[i][3]; // alpha
}
ctx.putImageData(imgData,10,10);

通过 CSS 进行 Base64 编码

如果您不想依赖 HTML5,请使用 ActionScript 将字节数组转换为 base64 字符串,然后使用以下 css 规则插入图像:

background-image: url(data:image/png;base64,__base64_data__);

并将 __base64_data__ 替换为生成的字符串。这可以使用 JQuery 动态完成:

$('#img').css("background-image", "url(data:image/png;base64,__base64_data__)"); 

这似乎也是一种比 HTML5 Canvas 更有效的方法,尽管实际性能将取决于图像大小。

关于Javascript + ActionScript : How to convert bytearray returned from Actionscript to image in Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12002311/

相关文章:

Javascript - 返回多维数组和 for 循环

javascript - 如何在 JavaScript 中将数字的二进制表示形式从字符串转换为整数?

actionscript-3 - 在变量声明或构造函数中实例化类

flash - AS3:类型强制失败:无法转换 flash.display::MovieClip

apache-flex - 用数组填充(... rest)参数?

actionscript-3 - DefaultTextFormat 与 SetTextFormat

actionscript-3 - 在 Actionscript 3.0 中组合 URLRequest、URLLoader 和完整的事件监听器?

javascript - 在 Ruby 和 JavaScript 中复制计算的最佳方法是什么?

javascript - 如何拆分消息并将第二部分重新发送到文本 channel ?

javascript - 将数组上解析的字符串存储到另一个数组