我想创建一个javascript函数,在调用函数da_image时将加载一个随机图像。我希望图像加载到我设置的画布上。我的代码中是否有明显的错误?目前没有显示任何内容。
var images = [
"http://circlesfordialogue.com/wp-content/uploads/2014/12/LAURA-LET%C2%B4S-CIRCLE-UP-2014-12-08.jpg",
"http://mathworld.wolfram.com/images/eps-gif/ConcentricCircles_1000.gif",
"http://www.charlespetzold.com/blog/2012/12/BezierCircleFigure3.png"
];
function da_image(){
var file = images[0];
var reader = new FileReader();
reader.onload = function(){
var img = new Image();
img.src = reader.result;
img.onerror = function(){
reset_canvas();
o.font = '30px sans-serif'
o.fillText('Error: Invalid Image ' + file.name, 50, 100);
}
img.onload = function(){
document.getElementById("text").innerHTML = 'Recognizing Text... This may take a while...'
reset_canvas();
var rat = Math.min(c.width / img.width, c.height / img.height);
o.drawImage(img, 0, 0, img.width * rat, img.height * rat)
var tmp = document.createElement('canvas')
tmp.width = img.width;
tmp.height = img.height;
var ctx = tmp.getContext('2d')
ctx.drawImage(img, 0, 0)
var image_data = ctx.getImageData(0, 0, tmp.width, tmp.height);
runOCR(image_data, true)
}
}
答案 0 :(得分:0)
加载图像时会触发onload处理程序。当您设置onload处理程序时已加载图像,它不会被触发。
因此,在设置.src
函数后,请始终设置.onload
属性。