我使用for循环绘制了几个文本元素。但是我希望第一个元素在所有其他元素的上方绘制。 除了反转循环之外,是否有一种方法可以为绘制的文本或形状定义图层编号?
更改循环,或以其他方式实现自己的分层系统,将绘制调用排队,然后按从底部到顶部的顺序发出它们。
如@Stoive建议的那样,通过编程方式创建单独的(非显示)画布元素,向它们绘制,然后按你喜欢的顺序将结果转移到主画布中。
在页面上创建多个(显示的)画布,并使用CSS进行层叠,每个画布都作为自己的层进行绘制。
canvas
在2D上下文中没有图层的概念——可以将其视为可编程的画笔应用程序。
但是,您可以使用context.drawImage
将一个画布绘制到另一个画布上——因此,如果您将每个“图层”保留在自己的画布中,然后将它们组合成一个显示,就可以模拟图层的概念。