コントロールを使用<input type='file' onchange="readURL(this)"/>
して、画像を Web サービスにアップロードしています。ここではcanvas
、画像サイズを縮小するために使用しています。コードは正常に動作していますが、最初に画像をアップロードしようとすると空白の画像が送信され、2 回目の試行で最初の画像が送信されます。つまり、キャンバスに画像がいつ描画されたかを知らせるキャンバスのイベントが必要です
function readURL(input) {
if (input.files && input.files[0]) {
var canvas = document.getElementById('canvas1');
var context = canvas.getContext('2d');
var reader = new FileReader();
reader.onload = function (e) {
var imageObj = new Image();
imageObj.onload = function () {
context.drawImage(imageObj, 0, 0, 300, 275);
};
imageObj.src = e.target.result.toString();
$.ajax({
//My Web Service call code
});
}
reader.readAsDataURL(input.files[0]);
}
}
質問は、HTML5 キャンバスに、画像が描画されたことを示すイベントはありますか?