Javascript 在画布上绘制SVG
我有一组坐标,每对坐标我都想在画布上放置一个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=模糊;
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循环时,您所绘制的画布仍然是空的。