我想在canvas元素上使用toDataURL調用的輸出。使用Javascript和Canvas元素的奇怪圖像行爲
var snapshotjig = document.getElementById("snapParent");
var testOutput = document.createElement('canvas');
var ctxtest = testOutput.getContext('2d');
var imageTest = new Image();
var canvas = capture(video, scaleFactor);
imageTest.src = canvas.toDataURL();
ctxtest.drawImage(imageTest,0,0,imageTest.width, imageTest.height);
snapshotjig.appendChild(testOutput);
完成捕獲代碼如下所示:
function capture(video, scaleFactor) {
if(scaleFactor == null){
scaleFactor = 1;
}
var w = video.videoWidth * scaleFactor;
var h = video.videoHeight * scaleFactor;
var canvas = document.createElement('canvas');
canvas.width = w;
canvas.height = h;
var ctx = canvas.getContext('2d');
ctx.drawImage(video, 0, 0, w, h);
return canvas;
}
在HTML有id爲 「snapParent」 div元素。 捕獲函數似乎工作正常,但我使用toDataUrl的實例,然後嘗試繪製輸出,我得到了不同的結果,此刻我在我的div元素snapParent中獲得一小部分圖像。 不知道是什麼原因造成這個或我做錯了什麼。
對此的任何想法將不勝感激。我正在嘗試使用toDataUrl來獲取圖像並將其用於一個函數中,該函數可讓我將它變成一個交互式Jigsaw,此代碼現在需要一個url,用toDataUrl輸出代替它應該是微不足道的,我只是無法解決爲什麼我的圖像被裁剪。
ctxtest是一個上下文。據我所知,你不在那裏設置寬度和高度。 – MYR 2011-12-20 12:02:20