我有一个画布,可容纳中等到大量的形状(50-500)。
我成功地使用这些工具绘制了我想要的形状轮廓:
function DrawPolygon(diagramLayer, polygon) {
var diagramImage = new Kinetic.Shape(function () {
var context = this.getContext();
context.beginPath();
context.lineWidth = 1;
context.strokeStyle = "#ff0000";
var lastVertice = polygon.Vertices[polygon.Vertices.length - 1];
context.moveTo(lastVertice.X, lastVertice.Y);
for (var i = 0; i < polygon.Vertices.length; i++) {
var vertice = polygon.Vertices[i];
context.lineTo(vertice.X, vertice.Y);
}
context.stroke();
context.closePath();
});
diagramImage.on("mouseover", function () {
});
diagramLayer.add(diagramImage);
planViewStage.add(diagramLayer);
}
我想在mouseOver上将diagramImage的context的strokeStyle更改为不同的颜色。据我所知,canvas元素没有跟踪'state',因此不知道它当前有一个形状。
我想知道一些事情:
答案 0 :(得分:8)
这是一个实验室,展示了如何使用鼠标悬停更改形状的颜色:
http://www.html5canvastutorials.com/labs/html5-canvas-interactive-flower/