我使用函數toDataURL將畫布保存爲URL base64。但是,當我想要使用它時,我會得到完整的空白圖像。我認爲這是在保存時不滿載畫布或東西...將畫布保存到DataURL時的空白PNG
這裏的問題是我的小提琴,我想確保我的變量dataURL是在canvas2表示的圖像
小提琴:http://jsfiddle.net/acbo6m6o/8/
var ctx = document.getElementById('canvas').getContext("2d");
var ctx2 = document.getElementById('canvas2').getContext("2d");
var img = new Image();
img.src = "https://scontent-mad1-1.xx.fbcdn.net/v/t1.0-9/10400072_76198580294_2746326_n.jpg?oh=b8cc93c35d6badfffb65ab5c9cbfce28&oe=5941AAB6";
var img2 = new Image();
img2.src = "https://icc-static-files.s3.amazonaws.com/ICC/photo/2017/01/31/f3a228a9-30ca-453e-99c5-ee6150c714a5/Facebook_Logo.png";
img.addEventListener('load', function(e) {
ctx.arc(150, 150, 150, 0, Math.PI * 2, true);
ctx.save();
ctx.clip();
ctx.drawImage(this, 0, 0, 300, 300);
ctx.restore();
ctx2.drawImage(ctx.canvas, 35, 60, 230, 230);
ctx2.drawImage(img2, 200, 60, 75, 75);
}, true);
var dataURL = canvas2.toDataURL();
當我把toDataURL中的addEventListener我不確定變量。
如果你不把'VAR dataURL = canvas2.toDataURL();'onload事件裏面。這樣圖像將呈現在畫布上而不是空白。 – Blindman67
我得到了一些未定義的內容:http://jsfiddle.net/acbo6m6o/9/ – DionysoSong
因爲圖像尚未加載。 onload事件之外的任何代碼在圖像加載之前運行。在toDataURL行 – Blindman67