使用alpha创建绘图

时间:2016-01-15 17:16:03

标签: createjs

< p>我使用CreateJS在我的应用程序中实现了一个小绘图功能,如下所示:< / p> < pre>< code> var currentPosition = this.posOnStage(event);     var drawing = container.getChildByName(' drawing');     drawing.graphics.ss(this.brushSize," round")。s(this.brushColor);     drawing.graphics.mt(this._lastMousePosition.x,this._lastMousePosition.y);     drawing.graphics.lt(currentPosition.x,currentPosition.y);     drawing.alpha = this.brushAlpha;     container.updateCache(this.enableErasing?" destination-out":" source-over");     drawing.graphics.clear();     this._lastMousePosition = this.posOnStage(event); < /代码>< /预> < p>如您所见,此图形的Alpha值可能会发生变化。可悲的是,你可以画出你曾经画过的一个点,所以当你多次画一个点时,alpha效果就会消失。知道如何解决这个问题吗?< / p> < p>谢谢:)< / p> < P>编辑: < a href =" https://i.stack.imgur.com/6lo05.png" rel =" nofollow noreferrer">< img src =" https://i.stack.imgur.com/6lo05.png" alt ="在此处输入图像说明">< / a>< / p> < p>我试过像gskinner和Lanny 7提出的那样,但它没有用。我附上了一张图片,以便您可以看到问题。< / p>

1 个答案:

答案 0 :(得分:2)

正如Lanny所建议的那样,将alpha应用于实际笔划,而不是应用于Shape。您可以使用Graphics方法来帮助解决这个问题。

例如: // set the brush color to red with the current brush alpha: this.brushColor = createjs.Graphics.getRGB(255, 0, 0, this.brushAlpha);