lineTo() 및 drawCircle() 메서드를 사용하여 모양을 그리는 복잡한 상황이 있지만 어떤 방향으로 그리는지에 따라 부정적인 공간 동작이 있습니다. 선. 이 JsFiddle :)에서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)
봐 https://jsfiddle.net/zOgs/3epv7o54/
파란색 원이 부정적인 공간을 왜 누군가가 나에게 설명 할 수 ..? 그리고 그 동작을 방지하는 방법 ...
들으을
는 (... 나는 모양 인스턴스의 compositeOperation의 PARAM을 변경하려 시도했지만 아무 효과가없는 것입니다)!
편집 1 : 나는 내 작업 케이스의보다 정확한 예제를 만들었
. 이 JsFiddle을보고 마우스를 캔버스 위로 이동하십시오. 오른쪽에서 왼쪽으로 어떤 문제도 보이지 않을 것입니다 ...하지만 네거티브 공간은 왼쪽에서 오른쪽으로 나타납니다 !!
https://jsfiddle.net/zOgs/psa3x9y2/
가 나는 이유를 정확히 이해하지 못하고 (더 나은보기를 신속하게 이동), 그리고 난 때문에 성능 이유 ... (캐싱 가능한 유효한 해결 방법을 찾을 수없는, 더 composeOperation 없기 때문에 배경 문제)
들으하지만 내 작품의 경우 내가 훨씬 더 복잡. lineTo()를 사용해야하고 어떤면을 그리는 지 알 수 없으므로 양쪽면에서 모두 작동하는 솔루션이 필요합니다! –
네가 맞아, 전에이 솔루션을 테스트 해 봤어 :)하지만 또 다른 제약이있어 !! 그 모양으로 알파를 설정해야합니다 ... 그 솔루션으로, rect와 circle은 더 이상 같은 알파 값을 가지지 않을 것입니다 ... 꽤 복잡한 상황입니다.) –
아, 네 문제는 꽤 복잡한 상황이다. 참으로 :) – gandreadis