Сохранить непрозрачность при движении мыши - холст

Я пытаюсь раскрасить некоторую область на холсте с помощью mouseMove. Я могу сохранить непрозрачность одним щелчком мыши. Но когда я делаю движение мыши, непрозрачность цвета не сохраняется. Пробовал несколько решений, но ничего не помогло. Прикрепление скрипки с образцом.

введите здесь описание изображения

Пример скрипта

 ctx.arc(x, y, w, 0, 2 * Math.PI);
    ctx.filter = 'opacity(30%)';
    ctx.fillStyle = 'blue';
    ctx.fill();
    ctx.closePath()

PS: я использую холст и не использую svg в своих требованиях.

Любая помощь приветствуется. Спасибо


person Niranth Reddy    schedule 27.11.2019    source источник
comment
Решение не работает в моем случае, столкнулись с некоторыми проблемами. Любое решение по этому поводу было бы полезно @Kaiido   -  person Niranth Reddy    schedule 09.01.2020
comment
Извините, у меня сейчас нет времени вам помочь. Если вы хотите, чтобы я снова открыл ваш вопрос (по крайней мере, через 12 часов для меня, но другие могут сделать то же самое), изменить это четко объяснить, почему решения там не сработали, а также включить в сам вопрос то, что у вас есть, что не работает.   -  person Kaiido    schedule 09.01.2020


Ответы (1)


Это связано с тем, что вы рисуете медленно, поэтому непрозрачность множества сегментов линий складывается из нескольких вызовов отрисовки друг над другом.

Если вы предпочитаете линию с альфа-каналом, подумайте о том, чтобы нарисовать ее на 100% и вместо этого уменьшить globalalpha. (документы)

person Lanny    schedule 27.11.2019
comment
Не повезло и с сокращением GlobalApha. :( - person Niranth Reddy; 09.01.2020