我有一堆SVG的文本行,我需要畫到畫布。我將我的SVG對象轉換爲SVG數據URI,將其應用於圖像源,然後將該圖像繪製到畫布上,但由於某種原因,它會在特定寬度和高度後剪裁文本。當我畫我的SVG內容的畫布,SVG的裁剪
我知道這個問題是不是畫布大小,因爲我也是第一次繪製其他圖像到畫布(that're比文本方式更寬,更高),沒有任何問題。另一個奇怪的事情是,如果我把這張照片貼在身上,它就會完美呈現出來。
var imageText = new Image();
imageText.src = "data:image/svg+xml;base64," + btoa($("#text_container").html());
imageText.onload = function() { context.drawImage(imageText, 0, 0); };
#text_container是我的DIV,它保存所有的SVG代碼。
編輯:爲了讓更多的細節,這裏有一個評論我下面寫道:我建立一個JS應用程序,允許用戶創建自定義的足球。你可以改變球和文本的不同顏色和特徵,所以它可以歸結爲幾個帶有SVG文本的DIV(因爲文本沿着弧形路徑)。我可以將DIV的背景圖像繪製到畫布上,以創建足球。當我嘗試將文本拖到畫布上時發生問題,因爲它正在裁剪。然後,我將採用該畫布元素並將其變爲用戶保存的PNG。
我感動的文字並向左更多,所以你可以看到裁剪好。正如你所看到的那樣,球很好。 http://i.imgur.com/Sngu4.png
爲什麼要那樣做?所有支持畫布的瀏覽器都支持SVG。 –
我正在構建一個讓用戶創建自定義足球的JS應用程序。你可以改變球和文本的不同顏色和特徵,所以它可以歸結爲幾個帶有SVG文本的DIV(因爲文本沿着弧形路徑)。我可以將DIV的背景圖像繪製到畫布上,以創建足球。當我嘗試將文本拖到畫布上時發生問題,因爲它正在裁剪。然後,我將採用該畫布元素並將其變爲用戶保存的PNG。 – user1807782