Я хочу создать функцию javascript, которая будет загружать случайное изображение при вызове функции da_image. Я хочу, чтобы изображение загружалось на холст, который я установил. Есть явная ошибка в моем коде? В настоящее время ничего не отображается.Javascript загружает случайное изображение
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)
}
}
Итак, для чего нужен FileReader, вы никогда не читаете файл, поэтому обратный вызов 'onload' никогда не срабатывает. – adeneo
Ой, подождите, вы на самом деле читаете URL-адрес перекрестного домена как файл внутри обработчика onload. Это не сработает, прежде всего, есть одна и та же политика происхождения, а во-вторых, вам совсем не нужно читать изображение, и чтение внутри обработчика onload не будет работать, просто нарисуйте его на холсте, но вы выиграли Невозможно изменить изображение, опять же, с той же политикой происхождения. – adeneo
И есть неопределенная переменная 'c', этот код просто копируется/вставляется? – adeneo