我有一个复杂的情况,我需要用lineTo()和drawCircle()方法绘制一个形状,但根据我绘制的方向有一个负空间行为线。html5 - 画布 - Createjs - 图形绘制中的负空间
//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 PARAM,但它似乎没有任何效果...)
THX!
编辑1:
我已经作出了工作情况下更准确的例子。请看看这个JsFiddle并在画布上移动鼠标。你会看到从左到右没有任何问题...但负面空间显示从左到右! (快速移动为更好的视野)
https://jsfiddle.net/zOgs/psa3x9y2/
我不明白究竟为什么,我找不到任何有效的解决办法... (无缓冲可能的,因为性能的原因,没有composeOperation因为背景烦恼)
THX,但我的工作来说,我要复杂得多。我需要使用lineTo(),我不知道我将绘制哪一面,所以我需要一个适用于两侧的解决方案! –
是的你是对的,我已经测试过这个解决方案:)但我有另一个约束!我必须为形状设置一个alpha ...使用该解决方案,矩形和圆形将不会有相同的alpha值...相当复杂的情况呵呵) –
啊,是的,我看到你的问题,这是一个相当复杂的情况确实:) – gandreadis