我正在開發一個網頁,它對 SVG 字串資料進行了一些相當繁重的處理。因為這些字串的大小可能會達到 m/bs,所以我想將 SVG(依賴于瀏??覽器)的渲染移動到作業人員以避免阻塞 UI。
我的問題是工人中沒有可訪問的 DOM 元素 - 有沒有辦法單獨使用 SVG 字串將 SVG 繪制到 OffscreenCanvas 的 2D 背景關系中?或者有沒有辦法將字串轉換為可以傳遞給作業人員的資料格式?
uj5u.com熱心網友回復:
還沒有原生方式。
根據規范,即使在 Worker 中,您也應該能夠從包含 SVG 影像的 Blob創建ImageBitmap。
實際上,沒有瀏覽器實作了它,當我與實作者談論它時,似乎沒有人能夠這樣做。
在 Chrome 中,您可以訪問 Path2D 建構式,它可以以某種方式幫助<path>的d屬性,但這實際上只是渲染 SVG 的一小部分。
所以最好的辦法可能是為此使用一個庫。
值得注意的是,我認為canvg是最合適的。我自己不使用它,但它們已經存在很長時間了,而且似乎最新版本確實可以在 Worker 中使用 OffscreenCanvas(在 Chrome 中)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/364246.html
標籤:javascript svg 工人 离屏画布
上一篇:在SVG中填充區域
下一篇:處理反壓活動
