我有一个功能,使任何需要数量的“div”标签与“画布”标签内。现在,我无法将数组中的单张照片加载到这些“画布”标签中。将图像加载到画布标签系统
我有一个数组,其中有各种照片目录存储在其中,我想说的是加载该数组中的第一张图片到第一个画布标记,并将该数组中的第二个图像加载到第二个画布标记,所以上。
我从网络上获得了这些代码片段,然后对它进行编辑以尝试将其粘贴到我的项目中。
这会创建div和canvas标签。
for (var item = 0; item < 3; item++) {
if (item % 5 == 0) {
document.write(item);
}
var div = document.createElement("div");
div.setAttribute('id', 100+item);
document.body.appendChild(div);
var canv = document.createElement("canvas");
canv.setAttribute('width', 400);
canv.setAttribute('height', 400);
canv.setAttribute('id', item);
div.appendChild(canv);
}
这是在指定的画布标签中加载图像。我意识到回答我的问题的关键在于代码的这一部分,但我对这个过程很陌生,并且我对与canvas标签和图像加载相关的方法没有很好的了解。
var img=new Image();
img.onload=function(){
var can = document.getElementById('0');
var ctx = can.getContext('2d'); //creates canvas and image data
ctx.drawImage(img, 0, 0);
var imgdata = ctx.getImageData(0,0, img.width, img.height);
var data = imgdata.data;
}
非常感谢。另外,不是图像加载到画布中,我将如何使用.getImageData();并处理这些数据? – user2517142
此外,现在*图像加载... – user2517142
我做了一个补充,我的答案显示如何使用getImageData。该示例将其中一个画布图像的不透明度降低到25%。请注意CORS问题,禁止在单独的域中使用getImageData。 – markE