0
我在做什麼:我有一個ul包含li元素,圖像源自主目錄中的「/ images」文件夾。無法從canvas中的動態加載圖像源訪問DataURL數據
<section class="main">
<ul id="st-stack" class="st-stack-raw">
<li><div class="st-item"><img src="images/cards-01.png" class ="cardButton" /></div><div class="st-title"></div></li>
<li><div class="st-item"><img src="images/cards-02.png" class ="cardButton" /></div><div class="st-title"></div></li>
</ul>
</section>
<div class="rightside">
<canvas id="sketchpad" class="sketchpad" height="400" width="300">
</canvas>
<canvas id="sketchpad2" class="sketchpad" height="400" width="300">
</canvas>
</div>
然後我有一個JavaScript文件,我的HTML鏈接到下面的代碼放在:
$(document).ready(function() {
var myCanvas = document.getElementById("sketchpad");
var context = myCanvas.getContext("2d");
var startX = 0,
startY = 0;
$(".main").click(function(event) {
var target = $(event.target);
if (target.hasClass("cardButton")) {
var srcimg = $(target).attr("src");
draw(srcimg);
}
else {
return false;
}
var image_data = myCanvas.toDataURL("image/png");
window.open(image_data, '_blank', "location=0, menubar=0");
});
function draw(source){
var img = document.createElement("img");
img.onload = function(){
context.drawImage(img, startX, startY, 300, 400);
}
img.src = source;
}
});
我想簡單地訪問toDataURL形象和在新窗口中打開它時, li img元素被點擊。 li圖像被加載到畫布中,但是,當我們用toDataURL信息彈出新窗口時,我看到的所有內容都是透明畫布。有沒有人有這個解決方案?
這並沒有爲我工作。另外,你添加了什麼var x;在功能繪製(來源)? – Beatle
爲您的演示使用跨源兼容的源代碼(維基媒體圖片是,您也可以在保管箱中託管自己的文件) – Kaiido
由於錯誤而遺留在那裏,因爲@ kaiido說yes可能存在跨域問題。 –