캔버스에 일부 커브를 그립니다. 커브가 완료된 후에는 드로잉의 일부분을 실행 취소해야합니다 (커브의 처음 75 % 만 필요하므로 커브의 마지막 25 %를 삭제해야합니다).HTML5 Canvas - 대상 없음 컴포지션 문제
다음은 내 곡선이 통과하는 지점의 로그입니다. 7 번째 포인트가 끝나면 캔버스 컨텍스트의 "globalCompositeOperation"속성을 "destination-out"으로 변경하고 그 반대로 그리기를 시작합니다. 아래에서 볼 수 있듯이 앞으로 및 뒤로 방향의 지점은 정확히 동일합니다. 하지만 내 문제는 거꾸로 삭제하는 동안 라인이 올바르게 삭제되지 않습니다. 나는 약간의 흔적을 볼 수있다. Chrome, Firefox, Opera에서 문제가 확인되었습니다.
point X: (484,324) with Count: 0 angle :0.7853981633974483
spiroCanvasCore.js:62point X: (460,420) with Count: 1 angle :1.5707963267948966
spiroCanvasCore.js:62point X: (315,444) with Count: 2 angle :2.356194490192345
spiroCanvasCore.js:62point X: (220,300) with Count: 3 angle :3.141592653589793
spiroCanvasCore.js:62point X: (315,155) with Count: 4 angle :3.9269908169872414
spiroCanvasCore.js:62point X: (460,179) with Count: 5 angle :4.71238898038469
spiroCanvasCore.js:62point X: (484,275) with Count: 6 angle :5.497787143782138
spiroCanvasCore.js:62point X: (460,300) with Count: 7 angle :6.283185307179586
spiroCanvasCore.js:79inverse
spiroCanvasCore.js:62point X: (484,275) with Count: 7 angle :5.497787143782138
spiroCanvasCore.js:62point X: (460,179) with Count: 6 angle :4.71238898038469
spiroCanvasCore.js:62point X: (315,155) with Count: 5 angle :3.9269908169872414
spiroCanvasCore.js:62point X: (220,300) with Count: 4 angle :3.141592653589793
spiroCanvasCore.js:62point X: (315,444) with Count: 3 angle :2.356194490192345
spiroCanvasCore.js:62point X: (460,420) with Count: 2 angle :1.5707963267948966
spiroCanvasCore.js:62point X: (484,324) with Count: 1 angle :0.7853981633974483
아무에게도이 문제 또는 다른 대안/해결책의 원인이 될 수 있습니까? 여기
은 삭제 후, 내 곡선의 스크린 샷입니다 :편집 : 대신 'deatination 아웃'에 globalCompositeOperation 속성을 변경, 나는 단순히 내 배경에 맞게 캔버스 문맥의 strokestyle 변경 색깔. 그래도 문제가 지속됩니다
훌륭한 설명 ... 불행히도, 내 솔루션을 얻지 못했습니다 ... 나는 전체 커브를 지우고 필요할 때 그릴 수 있다고 생각합니다. 포인트, 뒤로 지우기 대신 .. 잘 작동할지 모르겠다 .. 어쨌든, 그것을 시도하고 thx :-) – saiy2k