2012-03-11 19 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

答えて

0

うーん、それは私のギャラクシーネクサス上だけで正常に動作します。私はちょうど私がここに別の質問に答えるために作られたコードを使用:

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

はあなたのためにそのコードの仕事をしていますか?

画像でポップアップが作成されない場合は、おそらくバージョン固有のAndroid固有の問題があります。

あなたのためにうまくいく場合は、特定の画像にクロスオリジンの問題があり、画像の場所がページと同じではないため、電話機にセキュリティ例外が発生している可能性があります。

関連する問題