用createjs制作画板工具
时间: 2023-06-15 14:06:52 浏览: 154
好的,首先你需要在你的HTML文件中引入CreateJS库:
```html
<script src="https://code.createjs.com/1.0.0/createjs.min.js"></script>
```
然后你可以使用CreateJS中的EaselJS库来创建画板工具。
首先,创建一个HTML元素,用于容纳画板:
```html
<canvas id="canvas" width="800" height="600"></canvas>
```
然后,在你的JavaScript文件中,创建一个Stage对象,将画板绑定到这个对象上:
```javascript
var stage = new createjs.Stage("canvas");
```
接下来,创建Shape对象,用于绘制图形。你可以使用它的graphics属性来绘制线条、矩形、圆形等等:
```javascript
var shape = new createjs.Shape();
shape.graphics.setStrokeStyle(4).beginStroke("#000000");
stage.addChild(shape);
var isDrawing = false;
var lastX, lastY;
stage.on("stagemousedown", function(event) {
isDrawing = true;
lastX = event.stageX;
lastY = event.stageY;
});
stage.on("stagemousemove", function(event) {
if (!isDrawing) return;
shape.graphics.moveTo(lastX, lastY).lineTo(event.stageX, event.stageY);
lastX = event.stageX;
lastY = event.stageY;
stage.update();
});
stage.on("stagemouseup", function(event) {
isDrawing = false;
});
```
这里的代码创建了一个Shape对象,并将它添加到舞台上。然后,在舞台上添加了三个事件监听器,用于检测鼠标的点击、移动和释放事件。当鼠标按下时,设置isDrawing为true,并记录下当前鼠标的坐标。当鼠标移动时,如果isDrawing为true,则在Shape上绘制一条线段,并更新lastX和lastY的值。最后,当鼠标释放时,设置isDrawing为false。
最后,调用stage.update()方法来刷新画面。完整的代码如下:
```javascript
var stage = new createjs.Stage("canvas");
var shape = new createjs.Shape();
shape.graphics.setStrokeStyle(4).beginStroke("#000000");
stage.addChild(shape);
var isDrawing = false;
var lastX, lastY;
stage.on("stagemousedown", function(event) {
isDrawing = true;
lastX = event.stageX;
lastY = event.stageY;
});
stage.on("stagemousemove", function(event) {
if (!isDrawing) return;
shape.graphics.moveTo(lastX, lastY).lineTo(event.stageX, event.stageY);
lastX = event.stageX;
lastY = event.stageY;
stage.update();
});
stage.on("stagemouseup", function(event) {
isDrawing = false;
});
```
现在你已经创建了一个简单的画板工具,可以用鼠标在画布上绘制任何图形。你可以使用graphics属性的其他方法来绘制不同的形状,例如绘制矩形、圆形、曲线等等。具体方法可以参考官方文档:https://createjs.com/docs/easeljs/classes/Graphics.html
阅读全文