В настоящее время я работаю над исправлением heatmap.js, и мне было интересно, знает ли кто-нибудь, можно ли добиться следующего эффекта с помощью 2-мерный контекст рендеринга.
. Два градиента перекрываются. Теперь моя проблема заключается в следующем: перекрывающаяся область суммируется, что приводит к более высокому значению альфа, чем центры радиальных градиентов, и, таким образом, показывает неправильные данные (например,более горячие области на тепловой карте из-за этих дополнений между градиентами)
Взгляните на следующий суть, выполнив его в консоли, вы увидите проблему.
Ожидаемое поведение: Самые темные области — это центры градиентов, перекрывающиеся области двух градиентов сливаются, но не складываются.
Увидев, что ни одна из globalCompositeOperations не привела к ожидаемому поведению, я попробовал комбинации этих операций. Я думал, что это возможно, следующим образом:
Но, к сожалению, я не нашел подходящей комбинации. Буду рад услышать ваши отзывы, заранее спасибо!
PS: Я знаю, что это можно сделать, манипулируя пикселями вручную, но мне было интересно, есть ли для этого более простое, элегантное и быстрое решение.