2012-03-20 3 views
0

以下のコードがあります。私は 3.ディスプレイID =「任意の」キャンバスデータを文字列に書き込んでブラウザに表示する

Iとのdiv内ブラウザでキャンバスのtoDataURL()文字列をキャンバスに外部のサイト 2.コンバート画像から 1.インポート画像にしようとしていますステップ1と2を持っていますが、画像のソースが何であっても、toDataURLの出力が同じであることを、 img.src の行でグーグルのimgurリンクにコメントを切り替えると出力に表示されます。

データベースに書き込む代わりに、ブラウザで文字列の長さや文字列を調べるためにこのverusをデータベースに書きたいと思っています。

おかげで、

AJT
<canvas id="baseCanvas" width="275" height="95" style="solid #c3c3c3;"> 
Your browser does not support the canvas element. 
</canvas> 

<script type="text/javascript"> 
baseCanvas = document.getElementById('baseCanvas'); 
var img = new Image(); 

img.onload = function() { 
baseCanvas.getContext('2d').drawImage(img,0,0); 
baseCanvas.toDataURL('image/png'); 
} 

img.src = 'http://www.google.com/images/srpr/logo3w.png'; 
// img.src = 'http://s.imgur.com/images/imgur.gif' 

</script> 

<div id="any"></div> 
<script type="text/javascript"> 
document.getElementById('any').innerHTML = baseCanvas.toDataURL('image/png') 
</script> 

答えて

1

これは、キャンバスと古典的なエラーです。クロスドメインイメージでtoDataURLを実行することはできません。エラーコンソールを見ると、「SECURITY_ERR:DOM Exception 18」と表示されます。

+0

イメージがマシンに対してローカルであれば、toDataURLで正しい値が渡されますか? – humanbeing

+0

本当にありません。これは、「同じ起源ポリシー」に関連する多くの問題の1つにすぎません。あなたが読んでいる場合は、Googleの言葉。それ以外の場合は、学習している、あるいは何かをやりたいだけですか?http://www.maxnov.com/getimagedata/ – tungd

+0

お返事ありがとうございます – humanbeing

関連する問題