2010-08-28 93 views
2

我正在尋找一種很好的方法來將Firefox的canvas元素上傳到Web服務器或數據庫,以便稍後重新加載它。將canvas元素上傳到網絡服務器/數據庫?

我的想法: 1.我的第一個想法是使用getImageData()並將畫布作爲ImageData對象保存到數據庫,但這可能不是一個好的解決方案,因爲這些對象可能會變得很大。 2.第二個想法是使用Flash/Javascript方法將畫布作爲PNG上傳到網絡服務器。

你對這些方法有什麼意見或者可能有另一個好的解決方案嗎?

回答

0

畫布元素具有toDataURL函數,該函數將畫布上的圖像作爲PNG序列化,編碼爲data URL。您可以使用表單發佈圖像(通過將隱藏的輸入元素的值設置爲數據網址)或使用AJAX在後臺發佈圖像。

您應該知道,如果畫布不是「原點清潔」,則toDataURL(或任何其他獲取像素數據的方法)將引發安全異常。例如,如果您使用來自不同域的圖像呼叫drawImage,則不能再使用toDataURLgetImageData函數。

0

我不太確定我會擔心大小,除非圖像的大小通常> 10 MB。這真的是一個問題嗎?

如果沒有,使用getImageData()將是最實際和最簡單的IMO方法。

相關問題