使用for循環繪製幾個文本元素。 但我想要在所有其他元素上繪製第一個元素。 除了反轉循環,是否有一種方法可以爲繪製的元素(如文本或形狀)定義圖層編號?使用圖層或z-index在畫布上繪製形狀/文本
3
A
回答
5
不,HTML5 Canvas-like SVG-在渲染時使用"painters model":立即放下的墨水在畫布上乾涸;連續的平局呼叫在結果之上。
此外,HTML5畫布 - 與SVG或HTML不同 - 使用non-retained (or immediate) graphics mode:發佈後,對應於原始繪圖命令的對象不會被保留。
的選項有:
更改您的循環,或以其他方式實現一個排隊的繪製調用自己的分層系統,然後發出他們從底部以頂部。
正如@Stoive建議的那樣,以編程方式創建單獨的(未顯示的)畫布元素,然後按照您喜歡的順序將結果繪製回主畫布。
在頁面上創建多個(顯示的)畫布,並使用CSS對它們進行分層,並將每個分層作爲其自己的圖層進行繪製。
的最後一個選項可以讓你最自由,包括能夠髒/清除只是一層在任何時間,或重新排序層,而不必自己recomposite他們。
0
在2D上下文中沒有canvas
中的圖層概念 - 將其視爲可編程畫筆式應用程序。
但是,您可以使用context.drawImage
將一個畫布繪製到另一個畫布上 - 因此,如果您將各個「圖層」保留在自己的畫布中,然後將它們組合成一個顯示,那麼可以模擬圖層的概念。
相關問題
- 1. 在畫布上繪製漸變形狀
- 2. 在畫布上繪製透明形狀
- 3. 畫布上的繪圖形狀
- 4. 如何使用畫布以梯形形狀繪製圖像
- 5. 在Android畫布上繪製路徑或形狀的交集
- 6. 在BitmapData上繪製形狀或創建其圖形上下文
- 7. 在iOS上繪製圖形:使用圖層或覆蓋drawRect?
- 8. 如何使用畫布在圖像上繪製疊加層?
- 9. WPF畫布圖形繪製
- 10. 在形狀上繪製文本
- 11. 使用圖層在畫布中設置背景(zIndex)
- 12. KineticJS - 在屏幕畫布上繪製一層圖層
- 13. 在畫布上繪製文本
- 14. 在畫布上垂直繪製文本
- 15. 使用XferMode在畫布上繪製圓形位圖
- 16. Java SWT在畫布上使用鼠標事件繪製圖形
- 17. 在網格基礎上的HTML畫布上繪製形狀
- 18. 在Android上的畫布上繪製自定義形狀
- 19. HTML畫布 - 間隔後繪製形狀
- 20. 使用fabric.js繪製畫布形狀作爲橢圓形lauout
- 21. 使用畫布在填充的矩形內繪製文本Android
- 22. 在Android上使用路徑在畫布上繪製自定義形狀
- 23. 繪製矩形形狀阻力和圖像的降HTML5畫布
- 24. 不會在畫布上繪製矩形
- 25. html5 - 如何檢查在畫布上繪製的形狀?
- 26. 存儲在畫布上繪製的形狀
- 27. 如何在HTML5畫布上交互繪製形狀?
- 28. 在HTML5畫布上繪製形狀...與視頻
- 29. 繪製2個形狀不同的顏色在畫布上
- 30. 我試着撤消在畫布上繪製的特定形狀