用 JavaScript 画一个心形
时间: 2023-03-13 16:23:02 浏览: 21
如何用C语言画一个“心形”
可以使用 canvas 元素和贝塞尔曲线在 JavaScript 中绘制心形。首先,需要创建一个 canvas 元素并指定宽度和高度:
```
<canvas id="myCanvas" width="200" height="200"></canvas>
```
然后,可以使用 JavaScript 获取 canvas 元素并获取其绘图环境:
```
var canvas = document.getElementById('myCanvas');
var ctx = canvas.getContext('2d');
```
接下来,可以使用贝塞尔曲线绘制心形,需要使用 moveTo() 方法移动画笔到起点,然后使用 bezierCurveTo() 方法绘制贝塞尔曲线。
```
ctx.moveTo(75, 40);
ctx.bezierCurveTo(75, 37, 70, 25, 50, 25);
ctx.bezierCurveTo(20, 25, 20, 62.5, 20, 62.5);
ctx.bezierCurveTo(20, 80, 40, 102, 75, 120);
ctx.bezierCurveTo(110, 102, 130, 80, 130, 62.5);
ctx.bezierCurveTo(130, 62.5, 130, 25, 100, 25);
ctx.bezierCurveTo(85, 25, 75, 37, 75, 40);
```
最后,使用 fillStyle 属性设置填充颜色,然后使用 fill() 方法填充心形:
```
ctx.fillStyle = '#ff0000';
ctx.fill();
```
完整的代码如下:
```
<canvas id="myCanvas" width="200" height="200"></canvas>
<script>
var canvas = document.getElementById('myCanvas');
var ctx = canvas.getContext('2d');
ctx.moveTo(75, 40);
ctx.bezierCurveTo(75, 37, 70, 25, 50, 25);
ctx.bezierCurveTo(20, 25, 20, 62.5, 20, 62.5);
ctx.bezierCurveTo(20, 80, 40, 102, 75, 120);
ctx.bezierCurveTo(110, 102, 130, 80, 130, 62.5);
阅读全文