HTML5 Canvas:我试图将图像加载到画布上

时间:2015-01-02 19:15:19

标签: javascript html5 canvas

我尝试设置用户可以加载自定义图片的画布。 据我所知,应该设置一切,但由于某种原因它不起作用。

Here's my jsfiddle

HTML:

<canvas id="image-canvas" width="500" height="500" style="border:1px solid grey"></canvas>
<input type='file' id='fileInput' />

使用Javascript:

var canvas = document.getElementById('image-canvas');
ctx = canvas.getContext('2d');

// Trigger the imageLoader function when a file has been selected
var fileInput = document.getElementById('fileInput');
fileInput.addEventListener('change', imageLoader(), false);

function imageLoader() {
    var reader = new FileReader();
    reader.onload = function(event) {
      img = new Image();
      img.onload = function(){
        ctx.drawImage(img,0,0);
      }
      img.src = reader.result;
    }
    reader.readAsDataURL(fileInput.files[0]);
   }

2 个答案:

答案 0 :(得分:4)

您正在调用imageLoader,而不是作为函数调用。

替换

fileInput.addEventListener('change', imageLoader(), false);

通过

fileInput.addEventListener('change', imageLoader, false);

答案 1 :(得分:1)

一行是错的。这是固定的:

fileInput.addEventListener('change', imageLoader, false);
相关问题