Cách gửi hình ảnh jpg dưới dạng ByteArray
từ as3 đến javascript? Và làm thế nào để chuyển đổi ByteArray
thành hình ảnh trong javascript?Gửi ByteArray tới JavaScript
Trả lời
Việc triển khai JavaScript và DOM của trình duyệt web hiện tại không thực sự có cơ chế tốt để thực hiện việc này.
Đặt cược tốt nhất của bạn là yêu cầu AS3 trả lại URI giao thức DATA bằng phiên bản được mã hóa theo hình nền của base64. Các trình duyệt hiện đại (IE8 +, FF2 +, v.v.) sẽ chấp nhận URI DỮ LIỆU là SRC của thẻ IMG và sẽ hiển thị hình ảnh trong đó.
http://en.wikipedia.org/wiki/Data_URI_scheme
Bạn sẽ cần phải có một chuyên gia AS3 giải thích làm thế nào để biến một byte mảng thành một chuỗi base64 mã hóa, nhưng nó không thể là khó.
Hãy bạn DisplayObject
(Sprite
/MovieClip
/bất cứ điều gì) và chuyển nó sang một BitmapData:
myBitmapData.draw(mySprite);
Chuyển đổi đó để một PNG sử dụng adobe của AS3CoreLib
myByteArray = PNGEncoder.encode(myBitmapData);
Chuyển đổi đó để Base64 sử dụng Flex của Base64Encoder :
myBase64Encoder.encodeBytes(myByteArray);
Sau đó, export actionscript variables to Javascript sử dụng ExternalInterface.
sau hơn 3 năm ... và một người khác tìm thấy bài đăng này rất hữu ích !! cảm ơn bạn rất nhiều! ! –
Có một phương thức trong lớp này nào đó:
gọi
var data:String = DisplayObjectUtils.getBase64ImageDataString();
sẽ trở lại chuỗi này:
data:image/png;base64,...
Sau đó bạn thiết lập src của một img trong html với giá trị đó.
- 1. Gửi id Div tới javascript qua onclick
- 2. Làm cách nào để gửi một ByteArray (từ Flash) và một số dữ liệu biểu mẫu tới php?
- 3. Gửi JSON tới webmethod?
- 4. Gửi PDF tới iBooks
- 5. Chuyển đổi bitmap thành byteArray android
- 6. Gửi tới khay trên Đóng
- 7. Python ByteArray In ấn
- 8. Python: bytearray vs mảng
- 9. Gửi yêu cầu gửi tới WCF RESTful với json
- 10. gửi JSON ngày tới google charts API từ Perl
- 11. Gửi từ Angular tới .net WebAPI
- 12. gửi tệp xml tới http bằng python
- 13. Gửi email tới nhiều địa chỉ Android
- 14. Gửi email kích hoạt tới người dùng
- 15. Gửi mảng 2D tới Cuda Kernel
- 16. TCPServer gửi html tới trình duyệt
- 17. Gửi JSON tới PHP bằng ajax
- 18. Gửi tệp tới API JSON Rails
- 19. Chuyển đổi JSONArray thành Chuỗi trong javascript để gửi tới java
- 20. để gửi tệp văn bản tới máy chủ bằng cách sử dụng javascript
- 21. Làm cách nào để gửi tệp pdf trực tiếp tới máy in bằng JavaScript?
- 22. Gửi tin nhắn tới tất cả các cửa sổ/tab đang mở sử dụng JavaScript
- 23. Gửi JSON tới URL qua WebClient trong C#
- 24. Gửi biểu đồ trực quan của Google tới email
- 25. Làm thế nào để chuyển đổi bytearray để hình ảnh hoặc hình ảnh để bytearray?
- 26. Bảo mật PHP: gửi POST tới cùng một URL = xấu?
- 27. gửi codechef javascript
- 28. gửi mẫu mandrill javascript
- 29. SignalR gửi tin nhắn tới một kết nối duy nhấtId
- 30. Gửi mảng tới bộ điều khiển MVC qua JSON?
Không hoạt động trong
Alex
Thật vậy, điều đó sẽ không hoạt động trong các phiên bản trình duyệt cũ hơn. Không sử dụng URI DỮ LIỆU, không có cách nào khác để thực hiện điều này với chính DOM. – EricLaw
Để ghi lại, cách thực hiện chuyển đổi là: Lấy DisplayObject của bạn (Sprite/MovieClip/bất kỳ thứ gì), chuyển đổi nó thành BitmapData (myBitmapData.draw (mySprite);), chuyển đổi thành PNG bằng cách sử dụng AS3CoreLib của adobe (myByteArray = PNGEncoder.encode (myBitmapData);), chuyển đổi để Base64 sử dụng Base64Encoder của Flex (myBase64Encoder.encodeBytes (myByteArray);), sau đó xuất khẩu sang một số chức năng Javascript bằng cách sử dụng ExternalInterface – Ender