Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在画布上绘制SVG_Javascript_Html_Canvas_Svg - Fatal编程技术网

Javascript 在画布上绘制SVG

Javascript 在画布上绘制SVG,javascript,html,canvas,svg,Javascript,Html,Canvas,Svg,我有一组坐标,每对坐标我都想在画布上放置一个SVG。问题出在getCircle函数中。SVG不起作用,但是如果我画一个圆圈(参见注释代码),它就起作用了 函数getCircle(){ var circle=document.createElement(“画布”), ctx=circle.getContext(“2d”), r2=半径+模糊; 圆.宽=圆.高=r2*2; /* ctx.shadowOffsetX=ctx.shadowOffsetY=r2*2; ctx.shadowBlur=模糊;

我有一组坐标,每对坐标我都想在画布上放置一个SVG。问题出在
getCircle
函数中。SVG不起作用,但是如果我画一个圆圈(参见注释代码),它就起作用了

函数getCircle(){ var circle=document.createElement(“画布”), ctx=circle.getContext(“2d”), r2=半径+模糊; 圆.宽=圆.高=r2*2; /* ctx.shadowOffsetX=ctx.shadowOffsetY=r2*2; ctx.shadowBlur=模糊; ctx.shadowColor=“紫色”; ctx.beginPath(); ctx.弧(-r2,-r2,半径,0,数学π*2,真); ctx.closePath(); ctx.fill(); */ var img=新图像(); img.onload=函数(){ ctx.drawImage(img,0,0); }; img.src=”https://upload.wikimedia.org/wikipedia/en/0/09/Circle_Logo.svg"; 返回圈; } var半径=5; var模糊=1; var canvas=document.getElementById('c'); var ctx=canvas.getContext('2d'); 画布宽度=400; 画布高度=200; var circle=getCircle(); clearRect(0,0,canvas.width,canvas.height); var数据=[[38,20,2]]; 对于(var i=0,len=data.length,p;i
#c{
宽度:400px;
高度:200px;
}
var canvas=document.getElementById('c');
var ctx=canvas.getContext('2d');
画布宽度=400;
画布高度=200;
var数据=[[0,20,2],[125,20,2],[250,20,2];
drawImage();
函数drawImage(){
var img=新图像();
img.onload=函数(){
对于(var i=0,len=data.length,p;i
#c{
宽度:400px;
高度:200px;
}
var canvas=document.getElementById('c');
var ctx=canvas.getContext('2d');
画布宽度=400;
画布高度=200;
var数据=[[0,20,2],[125,20,2],[250,20,2];
drawImage();
函数drawImage(){
var img=新图像();
img.onload=函数(){
对于(var i=0,len=data.length,p;i
#c{
宽度:400px;
高度:200px;
}

你想在画布上绘制该图像吗?@Durga-是的,它是一个
for
循环,在代码的底部绘制该图像。你想只绘制svg图像还是可以使用jpg/png?@Durga-只是svg。getCircle函数将返回一个空画布,其中包含你的图像(顺便说一句,这里是svg并不重要),将仅在所有其他操作结束后绘制。这意味着当代码进入for循环时,您绘制的画布仍然是空的。是否要在画布上绘制该图像?@Durga-是,这是一个
for
循环,在代码的底部绘制该图像。您只想绘制svg图像,还是可以使用jpg/png?@Durga-Just svg。getCircle函数将返回一个空画布,只有在所有其他操作结束后,才会在该画布上绘制图像(顺便说一句,这里是svg并不重要)。这意味着当代码进入for循环时,您所绘制的画布仍然是空的。