2012-03-11 42 views
3

我想從畫布保存圖像到我的Android手機。我的代碼如下與canvas.toDataURL和Android手機drawimage問題

var canvas = document.getElementById('canvas'); 
var context = canvas.getContext("2d"); 
context.drawImage(video, 0, 0, 320, 320); 
var strURI=canvas.toDataURL('image/png'); 
document.location.href=strURI.replace('image/png', 'image/octet-stream'); 

該代碼在我的筆記本電腦上工作正常,我可以用它下載圖像。但是,當我在我的Android手機上嘗試時,沒有任何反應。

今天,我嘗試在我的Android手機上調試我的代碼。我發現我的應用在var strURI=canvas.toDataURL('image/png')時崩潰。這就是爲什麼我無法在手機上下載圖像的原因。任何人都知道如何解決這個問題?非常感謝你。

+0

我不是很有希望,但是你是否嘗試過沒有'image/png'?你可能會得到一個JPEG。但是tbh,它可能缺少一個PNG編碼器,而JPEG編碼器似乎更不可能。 – andrewmu 2012-04-04 16:40:47

回答

0

嗯,它在我的Galaxy Nexus上工作得很好。我只是用我犯在這裏回答另一個問題代碼:

http://jsfiddle.net/7QMqX/2/

是否爲你的代碼工作?

如果它沒有創建與圖像彈出,那麼你有一個android特定的問題,可能版本特定。

如果它能爲你工作,那麼你可能與你的特定圖像有一個交叉原點問題,它會在你的手機上拋出安全異常,因爲圖像位置與頁面不同。