1

我正在尝试将图片加载到 HTML5 Canvas 中。当我使用 URL 加载图像时,一切正常,但是如果我将图像放在本地驱动器上并指向它,则没有任何反应。

注意:当我使用常规标签时,一切正常并且图像已加载。

这是代码:

  var canvas = document.getElementById("rightSide");
    var context = canvas.getContext("2d");
    var imageObj = new Image();
    imageObj.src = "cloud.gif";
    context.drawImage(imageObj, 650, 55, 93, 104);

<canvas id="rightSide" width="800px" height="800">

谢谢。

4

2 回答 2

9

尝试这样的事情。

<canvas id="canvas"></canvas>

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

var img = new Image();
img.onload = function(){
    can.width = img.width;
    can.height = img.height;
    ctx.drawImage(img, 0, 0, img.width, img.height);
}
img.src = 'image.jpg';
于 2012-05-21T11:27:30.500 回答
0

加载到画布中的本地文件被视为来自不同的来源,因此被“污染”。这就是为什么它不适用于您的本地文件,但适用于 URL。

于 2012-05-21T11:35:11.450 回答