我有一个绘图画布(基于EaselJS CurveTo example),当我在mouseup
时,我想在渲染到画布的形状中注入一种新颜色。我也想在不使用过滤器的情况下这样做。
BIN:https://jsbin.com/qejesuvovu/1/edit?html,output
我曾经直接在形状图形中注入自定义填充/描边,但在更高版本的EaselJS中,这已停止工作。
marker.graphics._dirty = true;
marker.graphics._fill = new createjs.Graphics.Fill('blue');
marker.graphics._stroke = new createjs.Graphics.Stroke('blue');
使用单一笔触颜色动态更改形状颜色的推荐方法是什么?
更新:
在进一步研究之后,我发现我需要能够保持克隆形状的能力,并保留独立改变颜色的功能。
答案 0 :(得分:2)
在0.7.0版本中,图形被重新设计为使用"命令"。用于绘图的API没有什么不同(除了删除旧的appendInstruction
API),但是您可以随时修改各个命令的属性,并且在更新阶段时会反映它们。
var shape = new createjs.Shape();
shape.graphics.setStrokeStyle(3);
var strokeCommand = shape.graphics.beginStroke("#f00").command;
shape.graphics.drawRect(0,0,100,100);
您可以修改任何命令的属性:
strokeCommand.style = "#00f";
您可以在图形文档中看到完整的命令列表。 http://createjs.com/docs/easeljs/classes/Graphics.html#property_command - 每个命令都有单独的文档:http://createjs.com/docs/easeljs/classes/Graphics.Stroke.html
以下是使用命令修改stroke-dash offset和drawRect坐标的示例:http://jsfiddle.net/lannymcnie/gg8sv4cq/
您可以在此处阅读更多内容:http://blog.createjs.com/new-command-approach-to-easeljs-graphics/