Javascript 如何修复返回空字符串的toDataURL

Javascript 如何修复返回空字符串的toDataURL,javascript,html5-canvas,getimagedata,Javascript,Html5 Canvas,Getimagedata,我试图将画布上的简单图形转换为base64 url,但当我调用toDataURL时,得到的是一个空字符串 代码如下: var画布、上下文、画布图像; 变量游标位置={ x:未定义, y:未定义 }; var小鼠; var color=“rgb(0,123,255)”; 变量大小=10; 节气门功能(ms,fn){ var最后调用时间; 返回函数(){ var now=Date.now(); 如果(!lastCallTime | | now-lastCallTime>ms){ lastCallTi

我试图将画布上的简单图形转换为base64 url,但当我调用toDataURL时,得到的是一个空字符串

代码如下:

var画布、上下文、画布图像;
变量游标位置={
x:未定义,
y:未定义
};
var小鼠;
var color=“rgb(0,123,255)”;
变量大小=10;
节气门功能(ms,fn){
var最后调用时间;
返回函数(){
var now=Date.now();
如果(!lastCallTime | | now-lastCallTime>ms){
lastCallTime=now;
fn.应用(此,参数);
}
};
}
函数drawCircle(事件){
context.beginPath();
弧(cursorPosition.x,cursorPosition.y,size,0,2*Math.PI);
closePath();
context.fillStyle=颜色;
context.fill();
canvasImage=context.getImageData(
0,
0,
window.innerWidth,
窗内高度
);
log(canvas.toDataURL());
}
window.onload=函数(){
插座发射(“ai”);
装载(“左”);
canvas=document.getElementById(“编号”);
画布宽度=140;
帆布高度=140;
context=canvas.getContext(“2d”);
context.fillStyle=“白色”;
context.fillRect(0,0,canvas.width,canvas.height);
window.onmousedown=函数(){
鼠标按下;
控制台日志(“hi”);
};
window.onmouseup=函数(){
鼠标=”;
};
window.onmousemove=节流阀(0.00000000001,功能(evt){
如果(鼠标==“向下”){
var rect=canvas.getBoundingClientRect(),//元素的abs.size
scaleX=canvas.width/rect.width,//位图与X元素的关系
scaleY=canvas.height/rect.height;//位图与Y元素的关系
光标位置={
x:(evt.clientX-rect.left)*scaleX,//在鼠标坐标变化后缩放鼠标坐标
y:(evt.clientY-rect.top)*scaleY//已调整为相对于元素
};
抽奖圈(活动);
}
});
window.ontouchmove=油门(10,功能(事件){
var rect=canvas.getBoundingClientRect(),//元素的abs.size
scaleX=canvas.width/rect.width,//位图与X元素的关系
scaleY=canvas.height/rect.height;//位图与Y元素的关系
光标位置={
x:(evt.clientX-rect.left)*scaleX,//在鼠标坐标变化后缩放鼠标坐标
y:(evt.clientY-rect.top)*scaleY//已调整为相对于元素
};
控制台日志(光标位置);
抽奖圈(活动);
});
};
我可以在画布上画画,但当我在控制台或代码中调用它时,我会得到一个空字符串,如下所示:“

任何帮助都将不胜感激。我在网上尝试了很多东西,但都没用