欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

canvas绘制二次贝塞尔曲线(利用二次贝塞尔曲线绘制图形)

程序员文章站 2023-12-27 09:22:27
...

1.利用二次贝塞尔曲线绘制图形展示:
canvas绘制二次贝塞尔曲线(利用二次贝塞尔曲线绘制图形)
2.代码:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>logo</title>
<style>	
	#myc{border: 0px solid #000 ;display: block;margin: auto;}
	div{text-shadow: 5px 5px 3px #999999;font-size: 3em;
	    font-family: "华文琥珀"; margin:auto;text-align:center;}
</style>
</head>

<body >
	<div>LOGO</div>
<canvas id="myc"></canvas>
<script>	
	var c=document.getElementById("myc");
	c.width=500;
	c.height=500;
	var ctx=c.getContext("2d");
	//橙黄色背景部分
	var x=50,y=100, x1=x+50,y1=y+350, x2=x1+350,y2=y1+50, x3=x+450,y3=y-50
	ctx.lineWidth=2;
	ctx.strokeStyle="rgba(100%,50%,0%,1)";
	ctx.moveTo(x,y);
    ctx.lineTo(x1,y1);
	ctx.lineTo(x2,y2);
	ctx.lineTo(x3,y3);
	ctx.fillStyle="#FF8E20";
	ctx.fill();
	ctx.closePath();
	//叶子装饰部分
	var x=0,y=200,x1=230,y1=350;
	ctx.beginPath();
	ctx.lineWidth=2;
	ctx.strokeStyle="#c00";
	ctx.moveTo(x,y);
	ctx.quadraticCurveTo(x+80,y+200,x1,y1);
	ctx.moveTo(x,y);
	ctx.quadraticCurveTo(x+180,y-40,x1,y1);
	ctx.stroke();
	ctx.fillStyle="#57D84D";
	ctx.fill();
	ctx.closePath();
	var x2=170,y2=0,x3=250,y3=300;
	ctx.beginPath();
	ctx.lineWidth=2;
	ctx.strokeStyle="#c00";
	ctx.moveTo(x2,y2);
	ctx.quadraticCurveTo(x2+200,y2+200,x3,y3);
	ctx.moveTo(x2,y2);
	ctx.quadraticCurveTo(x2-40,y2+250,x3,y3);
	ctx.stroke();
	ctx.fillStyle="#57D84D";
	ctx.fill();
	ctx.closePath();
	var x4=480,y4=100,x5=280,y5=350,h=200,w=200;
	ctx.beginPath();
	ctx.lineWidth=2;
	ctx.strokeStyle="#c00";
	ctx.moveTo(x4,y4);
	ctx.quadraticCurveTo(x4-190,y4+40,x5,y5);
	ctx.moveTo(x4,y4);
	ctx.quadraticCurveTo(x4-10,y4+250,x5,y5);
    ctx.stroke();
	ctx.fillStyle="#57D84D";
	ctx.fill();
	ctx.closePath();
</script>
</body>
</html>

3.效果的展示
canvas绘制二次贝塞尔曲线(利用二次贝塞尔曲线绘制图形)
:图像是在网上找的,代码是自己写的。

上一篇:

下一篇: