是否可以在 Canvas 上绘制具有不同笔触样式的单个填充形状?
换句话说,我可以画一个蓝色的三角形,并且让每一边都有不同的颜色吗?
我意识到有一个并非最优的解决方案:
简而言之,绘制没有笔触的填充形状,然后以独特的笔触样式重绘每侧。
对于单个三角形来说,这并不是什么大问题,但是如果您有许多更复杂的形状,这似乎效率很低。
那么-是否可以沿着路径的各个部分绘制具有不同笔触样式的单个形状?
最佳答案
简短的答案是“不”,无论如何不是内置的。原因是因为每次调用stroke()
时,它都会遍历整个路径,而不仅是尚未被描边的部分。
您总是可以创建自己的函数,例如,使用一堆点或类型的段(您必须创建自己的类)为每种颜色赋予颜色,然后让该函数解析它们并绘制图形。但这就是您的最佳选择。
您很快就会意识到这带来了新的令人兴奋的问题,例如如何进行斜接。而且,如果您不知道什么是斜接,则可以通过以下方法快速找到真正的方法:)
(...然后可以通过使用ctx.linecap = 'round'
缓解某些问题
关于html - 绘制具有不同笔触样式的单个填充形状,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6034293/