Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 能否在绘制调用之间多次更改画布样式参数?_Javascript_Canvas - Fatal编程技术网

Javascript 能否在绘制调用之间多次更改画布样式参数?

Javascript 能否在绘制调用之间多次更改画布样式参数?,javascript,canvas,Javascript,Canvas,我需要画很多不同笔划和填充颜色的矩形。在进行概念验证时,我在单个context.stroke+context.fill调用中绘制了它们,以实现黑白表示。现在我需要把它们都弄得五颜六色,并且一个接一个地抚摸/填充它们,这会让事情慢下来很多。有没有一种方法可以在一次调用中仍然执行此操作?没有,任何context.stroke()/context.fill()将只使用在stroke/fill调用时设置的最新strokeStyle/fillStyle。因此,每个笔划()/fill()只能选择一种颜色 是

我需要画很多不同笔划和填充颜色的矩形。在进行概念验证时,我在单个context.stroke+context.fill调用中绘制了它们,以实现黑白表示。现在我需要把它们都弄得五颜六色,并且一个接一个地抚摸/填充它们,这会让事情慢下来很多。有没有一种方法可以在一次调用中仍然执行此操作?

没有,任何context.stroke()/context.fill()将只使用在stroke/fill调用时设置的最新strokeStyle/fillStyle。因此,每个笔划()/fill()只能选择一种颜色

是的,更改上下文状态(如strokeStyle/fillStyle)在性能方面的成本相对较高。如果许多彩色对象具有相同的颜色,则可以通过同时绘制所有相同颜色的对象来获得性能。(绘制所有红色对象,然后绘制所有蓝色对象等)