2016-09-16 83 views
1

我是新來的畫布,但有一個很好的工作代碼。其結果是生成一個畫布,然後將其轉換爲base64。帆布toDataURL從字符串

問題是,要使它工作,我似乎需要在HTML代碼中有一個畫布元素,並且我不需要在頁面上顯示畫布元素。

JS

var canvas = document.getElementById("canvas"); 
var context = canvas.getContext("2d"); 
... 
console.log(canvas.toDataURL()); 

HTML

<canvas id="canvas" width=64 height=64></canvas> 

問題(S)

  • 我可以無需在HTML中添加canvas元素toDataUrl?
  • 我唯一的選擇是用CSS隱藏它嗎?
+0

你試過沒有附加元素來記錄? – guest271314

回答

1

您可以使用document.createElement()

var canvas = document.createElement("canvas"); 
 
var context = canvas.getContext("2d"); 
 
canvas.width = 64; 
 
canvas.height = 64; 
 
//.... 
 
console.log(canvas.toDataURL());

+1

工作正常!我還需要添加canvas.width = 64;和canvas.height = 64;使其工作。也許你可以添加到你的答案?非常感謝! –

+0

如果您需要指定維數,然後簡單地將維數添加到您的代碼中。 :D –

+0

@BrianPeacock是的,但我的要求是在javascript中創建canvas元素,包括寬度和高度以使其按預期工作。爲了幫助他人解決同樣的問題,我認爲這是一個完整的解決方案。 –