Я довольно новичок в холсте, поэтому, пожалуйста, извините, если это просто. Я хочу изменить размер изображений перед загрузкой, если браузер поддерживает это с помощью холста. Тем не менее, этот кодcanvas drawImage не работает
var img = document.createElement("img");
var reader = new FileReader();
reader.onload = function(e) {img.src = e.target.result};
var files = event.target.files;
reader.readAsDataURL(files[0]);
var canvas = document.createElement('canvas');
canvas.width = 100;
canvas.height = 100;
var ctx = canvas.getContext("2d");
ctx.drawImage(img, 0, 0);
терпит неудачу с
NS_ERROR_NOT_AVAILABLE: Компонент не доступен slice.call (docElem.childNodes, 0) [0] .nodeType;
в моем тестовом браузере Firefox. Что может быть неправильным?
Update
Очень странно: если добавить "предупреждение (холст);" как 3-я последняя строка (я иногда это делаю для отладки, я знаю, что могу и должен использовать console.log), ошибка не появляется, однако я все еще ничего не вижу из своего изображения ...
спасибо, но это не сделано с помощью строки reader.onload = function (e) {img.src = e.target.result}; –
нет, примените dataURL на img.src, все равно нужно дождаться загрузки http://stackoverflow.com/questions/4776670/should-setting-an-image-src-to-data-url-be-available-immediately –
не может заставить его работать ... можете ли вы использовать мой код для ответа? –