1
私はキャンバスで画像を描くのに苦労しています。 私がこれまで行ってきたことは、Canvasからimagedataをデータベースに挿入したことです。 問題は、データのイメージを作成して後でキャンバスに描画しようとしたときに、同じピクセルが描画されず、一部のピクセルのみが描画され、残りは描画されません。ベース64pngからキャンバス
私はこのような画像データを取得しています:
var CanvasData = document.getElementById('canvas');
CanvasData = CanvasData.toDataURL("image/png");
そして、この(データがデータベースに格納されている)のようなバックキャンバス上の画像を描画:
var result = xmlhttp.responseText;
var CanvasDraw = document.getElementById('canvas');
var ctxChange = CanvasDraw.getContext('2d');
imagedata = new Image();
imagedata.src = result;
imagedata.onload = function(){
ctxChange.drawImage(imagedata, 0, 0);
}
はここですimagedataの例のpastebinへのリンク:http://pastebin.com/XGmV49k9 結果は、AJAX呼び出しから返され、データベースに格納されているデータと同じです。
ありがとうございました。
感謝。申し訳ありませんが、コードのその部分を追加するのを忘れました。結果は、データベースに格納されている実際の文字列であり、AJAX呼び出しから受信されます。したがって、それは画像データです。 – Araw
base64イメージにエラーがあります。ブラウザのアドレスバーに貼り付けてみてください。それは失敗する。しかし、http://en.wikipedia.org/wiki/Data_URI_schemeからデータを挿入しようとすると、画像 – antyrat
が表示されます。あなたが投稿したURLのデータを使用したときにうまくいきました。は正しい)。自分のコードでtoDataURLを使用したときに何が問題になっているのかわからない:S – Araw