1
我很努力在畫布上繪製圖像。 我到目前爲止所做的是我已經從Canvas中插入圖像數據到數據庫中。 問題是,當我嘗試創建數據的圖像並稍後在畫布上繪製它時,它不會繪製相同的圖像,只有一些像素可能會被繪製,而其餘的只是空白,就像沒有繪製任何圖像。Base64 PNG到畫布
我得到的圖像數據是這樣的:
var CanvasData = document.getElementById('canvas');
CanvasData = CanvasData.toDataURL("image/png");
而繪製的圖像,回到這樣的畫布(將數據存儲在數據庫中):
var result = xmlhttp.responseText;
var CanvasDraw = document.getElementById('canvas');
var ctxChange = CanvasDraw.getContext('2d');
imagedata = new Image();
imagedata.src = result;
imagedata.onload = function(){
ctxChange.drawImage(imagedata, 0, 0);
}
這裏有一個鏈接到pastebin作爲imagedata的示例:http://pastebin.com/XGmV49k9 結果是從AJAX調用返回的數據,與數據庫中存儲的數據相同。
感謝您的任何幫助。
感謝您的答覆。對不起,忘了添加那部分代碼。結果是存儲在數據庫中的實際字符串,它是從AJAX調用接收的。因此,這是圖像數據。 – Araw
似乎在base64圖像中出現錯誤。嘗試將其粘貼到瀏覽器地址欄中。它失敗。但是,如果你嘗試從http://en.wikipedia.org/wiki/Data_URI_scheme插入數據,它會顯示圖像 – antyrat
是的,當我使用你發佈的網址上的數據時,它工作,在左上角畫一個紅點是對的)。當我在我的代碼中使用它時,沒有看到toDataURL出了什麼問題:S – Araw