2016-09-16 113 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元素,包括宽度和高度以使其按预期工作。为了帮助他人解决同样的问题,我认为这是一个完整的解决方案。 –