📜  简单的js绘图程序 - Javascript(1)

📅  最后修改于: 2023-12-03 14:56:42.687000             🧑  作者: Mango

简单的JS绘图程序

在这个教程中,我们将介绍如何使用Javascript编写一个简单的绘图程序。该程序可以让用户绘制不同形状和颜色的图形。我们将使用canvas元素和一些基本而有趣的JS概念来制作它。

开始

首先,我们需要一个带有canvas元素的HTML文件。我们可以使用以下代码来创建一个简单的页面:

<!DOCTYPE html>
<html>
<head>
	<title>JS绘图程序</title>
</head>
<body>
	<canvas id="myCanvas"></canvas>
	<script src="draw.js"></script>
</body>
</html>

如您所见,我们的页面中有一个空画布元素,并且链接到一个名为“draw.js”的javascript文件。接下来,我们将打开这个文件并开始编写绘图程序。

绘制形状

首先让我们开始绘制一些形状。要绘制形状,我们需要使用canvas元素的“getContext()”方法。 这个方法接受一个字符串参数,告诉它我们想要2D上下文。我们可以使用“2d”作为字符串传递。

var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");

现在,我们已经有了一个可以使用的上下文,让我们来绘制一个矩形:

ctx.fillRect(25, 25, 100, 100);

这个方法有四个参数:矩形左上角的x坐标,y坐标,宽度和高度。 这将在(25,25)处绘制一个宽度和高度都为100的矩形。

我们也可以绘制其他形状。例如,要绘制一个圆形,请使用以下代码:

ctx.beginPath();
ctx.arc(100, 75, 50, 0, 2 * Math.PI);
ctx.fill();

这里我们使用了“beginPath()”方法来开始一个新形状的绘制。接下来,我们使用“arc()”方法来创建一个圆形。这个方法有五个参数:圆心的x坐标,y坐标,半径,起始角度和结束角度。我们在这里使用了0和2乘以Math.PI,这意味着完全绘制一个圆形。最后,我们使用“fill()”方法来填充圆形。

我们还可以使用“moveTo()”和“lineTo()”方法来绘制任何形状,例如线段或多边形:

ctx.beginPath();
ctx.moveTo(50, 50);
ctx.lineTo(100, 100);
ctx.lineTo(50, 100);
ctx.fill();

这里我们使用了“moveTo()”方法来移动绘图游标到(50,50)处,然后使用两个“lineTo()”方法来绘制一条线段和一个三角形。最后,我们使用“fill()”方法来填充形状。

更改样式

我们还可以更改各种不同的样式属性,例如颜色和线条宽度。

要更改颜色,请使用“fillStyle”或“strokeStyle”属性:

ctx.fillStyle = "red";

这里我们将填充颜色更改为红色。我们还可以使用十六进制或RGB值来指定颜色。

要更改线条宽度,请使用“lineWidth”属性:

ctx.lineWidth = 5;

这里我们将线条宽度更改为5像素。

设定动画

最后,我们可以使用“requestAnimationFrame()”方法来实现动画效果。它将在下一帧绘制之前调用指定的函数。我们可以结合requestAnimationFrame()和递归来创建一个循环,使动画连续流动。

function draw() {
  // 绘制逻辑
  
  requestAnimationFrame(draw);
}

draw(); // 调用函数开始动画

这里,我们正在创建一个名为“draw”的函数,它将循环调用,直到我们停止它。在此函数内,将包含动画逻辑。最后,我们使用“requestAnimationFrame()”调用“draw()”函数,以便我们能够不断更新画布并创建动画。

结论

通过使用canvas元素和一些基本的Javascript概念,我们可以创建一个简单但有趣的绘图程序。希望这个教程能够帮助你学习如何使用canvas元素和Javascript编写动画效果。