如何发送一个JPG图像作为ByteArray
从as3到JavaScript?以及如何将ByteArray
转换为javascript中的图像?发送ByteArray到JavaScript
9
A
回答
2
当前Web浏览器的JavaScript和DOM实现并没有很好的机制来完成这样的事情。
最好的办法是让你的AS3返回一个带有base64编码版本的图像的DATA协议URI。现代浏览器(IE8 +,FF2 +等)将接受一个DATA URI作为IMG标签的SRC,并将呈现其中的图像。
http://en.wikipedia.org/wiki/Data_URI_scheme
你必须有一个AS3专家解释如何把一个字节数组为Base64编码的字符串,但它不可能是那么难。
4
把你DisplayObject
(Sprite
/MovieClip
/不管),并将其转换成一个BitmapData:使用Adobe的AS3CoreLib
myByteArray = PNGEncoder.encode(myBitmapData);
将其转换成Base64编码使用Flex的Base64Encoder
myBitmapData.draw(mySprite);
将其转换成一个PNG :
myBase64Encoder.encodeBytes(myByteArray);
然后export actionscript variables to Javascript使用ExternalInterface。
+0
超过3年后...和其他人发现这篇文章非常有用!!非常感谢! ! – 2015-07-29 15:22:47
0
有一个在此的类,它是一个方法:
调用
var data:String = DisplayObjectUtils.getBase64ImageDataString();
将返回字符串:
data:image/png;base64,...
然后您设置的SRC一个img在html中的值。
相关问题
- 1. 用Volley发送ByteArray
- 2. 推送ByteArray到POST
- 3. 通过as3发送ByteArray到PHP
- 4. 使用AMFPHP从PHP发送Bytearray到Flex?
- 5. 如何通过Javascript将对象(byteArray)发送到AJAX PageMethod?
- 6. 如何从Android向PHP发送ByteArray?
- 7. 如何通过ksoap2发送byteArray从android到wcf
- 8. 发送KeyEventArgs到Javascript函数
- 9. 发送JavaScript变量到PHP
- 10. 发送json从javascript到php
- 11. 值发送到使用JavaScript
- 12. 发送javascript变量到rails?
- 13. 发送从JavaScript
- 14. 字符串到ByteArray
- 15. bytearray到图像asp.net
- 16. RestSharp发布ByteArray/Stream数据
- 17. 为什么JPGEnoded bytearray从AS3发送到AMFPHP导致无效图像?
- 18. 使用请求发送ByteArray的Web服务使用HTTP POST
- 19. 通过套接字发送整数的bytearray
- 20. 发送Actionscript ByteArray作为POST变量(在Facebook内)
- 21. Python bytearray发送套接字之间的unicode
- 22. 如何发送数组javascript到PHP?
- 23. 如何从javascript发送信号到qml
- 24. 发送一个Javascript表格到PHP
- 25. Javascript发送数据到ActionResult,返回RedirectToAction
- 26. 从javascript发送照片到php
- 27. JavaScript:发送POST,重定向到响应
- 28. 通过JavaScript发送文件到PHP
- 29. 发送数组从JavaScript/jQuery的到PHP
- 30. Facebook从javascript发送信息到页面
在
Alex
2010-01-11 02:45:45
确实不工作,这是行不通的旧版浏览器,没有使用数据URI,有没有其他办法与DOM本身做到这一点。 – EricLaw 2010-01-11 16:04:52
根据记录,顺便做转换为:将你的DisplayObject(Sprite/MovieClip/whatever),转换为BitmapData(myBitmapData.draw(mySprite);),使用adobe的AS3CoreLib(myByteArray = PNGEncoder.encode(myBitmapData);)将其转换为PNG;那对Base64使用Flex的Base64Encoder(myBase64Encoder.encodeBytes(myByteArray);),然后使用ExternalInterface将它导出到一些Javascript函数。 – Ender 2011-01-18 19:45:53