【发布时间】:2016-12-16 17:39:36
【问题描述】:
我有一个复杂的情况,我需要使用 lineTo() 和 drawCircle() 方法绘制一个形状,但是根据我绘制线条的方向会产生负空间行为。
//draw from right to left
var shape2 = new createjs.Shape();
shape2.graphics.beginFill('blue').moveTo(300,200).lineTo(0,200).lineTo(0,300).lineTo(300,300).closePath();
shape2.graphics.drawCircle(280,250,100)
看看这个 JsFiddle :) https://jsfiddle.net/zOgs/3epv7o54/
有人可以向我解释为什么蓝色圆圈会产生负空间..吗?以及如何避免这种行为...
(我试图改变形状实例的compositeOperation参数,但它似乎没有效果......)
谢谢!
编辑 1:
我为我的工作案例做了一个更准确的例子。请查看这个 JsFiddle 并在画布上移动鼠标。你会看到从右到左没有任何问题......但是从左到右出现负空格! (快速移动以获得更好的视野)
https://jsfiddle.net/zOgs/psa3x9y2/
我不明白为什么,我找不到任何有效的解决方法... (由于性能原因无法进行缓存,由于后台问题无法进行 composeOperation)
【问题讨论】:
标签: javascript html canvas createjs