【发布时间】:2016-05-13 19:39:44
【问题描述】:
我尝试重新加载图像以将其绘制在画布上(couse of cors)
这是代码的一部分:
var divicons = $(".leaflet-marker-icon");
var dx = [];
var dy = [];
var mx = [];
var my = [];
for (var k = 0; k < divicons.length; k++) {
var curTransform = divicons[k].style.transform;
var splitTransform = curTransform.split(",");
var marginX = parseInt(divicons[k].style.marginTop.replace("px", ""))
var marginY = parseInt(divicons[k].style.marginLeft.replace("px", ""))
dx.push(parseFloat(splitTransform[0].split("(")[1].replace("px", "")));
dy.push(parseFloat(splitTransform[1].replace("px", "")));
divicons[k].style.transform = "";
divicons[k].style.left = dx[k] + "px";
divicons[k].style.top = dy[k] + "px";
varIconSizeWidth = parseInt(divicons[k].style.width.replace("px", ""))
varIconSizeHeight = parseInt(divicons[k].style.height.replace("px", ""))
var img = new Image();
img.setAttribute("crossorigin", "anonymous");
img.src = divicons[k].src + '?d=' + Date.now();
img.onload = function() {
ctx.drawImage(img, dx[k] + mapX + marginY, dy[k] + mapY + marginX);
console.log(img)
};
}
$(canvas).insertBefore(svgE);
var myImage = canvas.toDataURL("image/jpeg");
var link = document.createElement('a');
link.download = "test.jpeg";
link.href = myImage;
document.body.appendChild(link);
$(link).css("display", "none");
link.click();
document.body.removeChild(link);
如何正确重新加载,因为图像没有绘制...
另外,当我安慰 img 和 divicons[k] - 有一些区别(img 没有任何风格,甚至 img.style = divicons[k].style).... 另外,我想使用事件,它将开始下载画布。
【问题讨论】:
标签: javascript jquery canvas cors