У меня сложная ситуация, когда мне нужно нарисовать фигуру с помощью методов lineTo() и drawCircle(), но есть отрицательное поведение пространства в зависимости от того, в каком направлении я рисую линии.html5 - Canvas - 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 параметров экземпляра формы, но это, кажется, не имеют никакого эффекта ...)
Thx!
EDIT 1:
Я сделал более точный пример моего рабочего дела. Посмотрите на этот JsFiddle и переместите мышь на холст. Вы увидите, что нет никаких проблем с ПРАВО НА ЛЕВО ... но области негативов появляются от LEFT TO RIGHT !! (быстро двигаться для лучшего зрения)
https://jsfiddle.net/zOgs/psa3x9y2/
Я не понимаю, почему, и я не могу найти правильный обходной путь ... (без кэширования возможно из соображений производительности, нет composeOperation, потому что фоновых неприятностей)
Thx, но моя работа случай я гораздо более сложный. Мне нужно использовать lineTo(), и я не знаю, с какой стороны я буду рисовать, поэтому мне нужно решение, которое работает с обеих сторон! –
Да, вы правы, я тестировал это решение раньше :) Но у меня есть другое ограничение! я должен установить альфа в форму ... С этим решением прямоугольник и круг больше не будут иметь такое же значение альфа ... Довольно сложная ситуация huh;) –
Ах да, я вижу вашу проблему, это довольно сложная ситуация действительно :) – gandreadis