我的高級別目標是將包含幾個內聯svg圖像的<div>
元素轉換爲PNG文件。所有操作必須在客戶端瀏覽器中使用JavaScript執行。我曾嘗試:將內聯SVG轉換爲PNG時的樣式錯誤
使用canvg庫及繼起的這個職位的步驟:https://github.com/niklasvh/html2canvas/issues/95#issuecomment-34439223
原SVG:
結果:
將css樣式展平成
<svg>
標記,然後調用canvg,按照以下步驟從這篇文章:Convert embedded SVG to PNG in-place結果:空白圖像。
壓扁CSS樣式到
<svg>
標籤並手動繪製SVG到畫布上,以下從這個主題的步驟: how to save/ export inline SVG styled with css from browser to image file結果:空白圖像。 http://spin.atomicobject.com/2014/01/21/convert-svg-to-png/
結果::空白圖像
使用此代碼壓扁CSS樣式到一個內聯樣式表。
使用svg crowbar手動將
<div>
元素下載爲.svg文件。結果:
然後當我比較反對下載SVG原SVG的計算CSS,我發現下載的SVG有正確的SVG XML,但不正確的內嵌樣式表(
<style type="text/css">
)例如,編號200,300最右邊的圖中,他們繪製<text x="214" dy=".32em" y="0" style="text-anchor: start;">200</text>
,在我的外部CSS,我有:.scatterChart .axisGraphicsContext文字{ 字體大小:8像素; 填:#777; }
但是,下載的svg的內聯樣式表中沒有字體大小和填充屬性。