2012-05-07 40 views
6

Tôi có một hình ảnh mà người dùng đã vẽ trên canvas và tôi muốn lưu hình ảnh đó trên máy chủ.toDataURL không hoạt động trên trình duyệt Android

Những dòng này hoạt động tốt trên ipad của tôi, nhưng không phải trên Android của tôi (ver 2.3.3) Trình duyệt:

var testCanvas = document.getElementById("sketchpad"); 
var canvasData = testCanvas.toDataURL("image/png"); 

Nếu tôi cảnh báo canvasData tôi chỉ nhận được:

dữ liệu :,

Tôi có thiếu gì đó không? Có thể làm trên Android hay tôi nên nhìn vào các phương pháp khác, bổ sung, vv?

+1

Rất có thể không được hỗ trợ trên phiên bản Android của bạn (vui lòng đề cập đến nó) –

+0

vâng, đó là những gì tôi đang nghĩ. Đó là 2.3.3 – zenif3

+0

http://code.google.com/p/android/issues/detail?id=7901 Mặc dù nó hoạt động trên máy tính bảng Android của tôi cũng giống như nó sẽ không hoạt động trên điện thoại cũ. – zenif3

Trả lời

7

Đáng tiếc là nó không được hỗ trợ trong phiên bản của bạn (tôi nghĩ rằng nó chỉ được hỗ trợ trong ICS), có một cái nhìn tại vấn đề này báo cáo

http://code.google.com/p/android/issues/detail?id=16829

Có được coi là một số loại thực hiện hoạt Javascript để hỗ trợ thêm cho nó, nhưng tôi đã không thử nó bản thân mình

http://code.google.com/p/todataurl-png-js/

+0

Cảm ơn! Tôi đã thử phương pháp js và nó hoạt động. Đó là chậm (14 giây-2 + phút để tạo ra một hình ảnh 400x800 từ điện thoại) nhưng nó tốt hơn không có gì. – zenif3

+0

@ user971727: Bạn đã tìm thấy cách tiếp cận tốt hơn cho các todataurl-png-js ở trên chưa? Bởi vì tôi cũng có thể sử dụng nó nhưng nó mất quá nhiều thời gian .. – YuDroid

+0

Không, tôi không có. Xin lỗi, tôi đã liên lạc lại với bạn quá muộn, tôi đã ngừng làm việc trong dự án này một thời gian. Tôi bắt đầu lại từ đầu và quyết định trở thành người bản xứ, bởi vì vải có độ nhạy cao hơn theo cách này. Vì vậy, nếu bạn có thể, hãy thử nó. – zenif3

3

An thực hiện thay thế mà chúng tôi đã sử dụng thành công trên nhiều điện thoại di động Android mà không cần Modi fication được mô tả trong bài viết trên blog này:

http://jimdoescode.blogspot.co.uk/2011/11/trials-and-tribulations-with-html5.html

này sử dụng phương pháp toDataURL nếu nó hoạt động một cách chính xác, và nếu không sử dụng một thư viện jpg mã hóa javascript để tạo ra hình ảnh.

4

Thật không may toDataURL() chỉ hoạt động trên phiên bản Android 3.2 trở lên.

Các vấn đề liên quan