如何使用toDataURL方法存儲包含圖像的畫布?一切工作正常的文字和繪圖,但我不知道如何處理圖像。任何幫助,將不勝感激。由於存儲包含圖像的HTML5畫布
我已經修改了我的問題如下:
當圖像從.png文件直接拉到這工作。但是,當我調用Google Charts API時,即使圖像在畫布上正確呈現,toDataURL也不起作用。 Google Charts正在返回一個.png。有人有主意嗎?謝謝。
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<script type="text/javascript" charset="utf-8">
function test() {
var c = document.getElementById("drawing-canvas");
var cxt = c.getContext("2d");
// This doesn't work.
//var imgsrc = 'http://chart.apis.google.com/chart?cht=tx&chf=bg,s,ffffff&chco=000000&
chl=a';
// This works
var imgsrc = 'chart.png';
var img = new Image();
img.src = imgsrc;
cxt.drawImage(img,0,0);
}
function wr() {
var cc = document.getElementById("drawing-canvas");
var url = cc.toDataURL();
var newImg = document.createElement("img");
newImg.src = url;
document.body.appendChild(newImg);
}
</script>
</head>
<body onload = "test();">
<canvas id="drawing-canvas" width = "500px" height = "500px" style="background-color:
#ffffff; border: 2px solid #000000;">
Your browser does not support the canvas element.
</canvas>
<input type = "button" value = "go" onclick = "wr();">
</body>
</html>
當我在畫布上使用drawImage並且源代碼是.png時,一切正常。當我使用從Google Charts API獲取的圖像時,它會在畫布中正確呈現,但我無法使用toDataURL保存它。 – user1884367
是的,謝謝,這在我將圖像保存在服務器上時起作用。儘管如此,我仍然遇到了緩存問題。我試過img.src =「chart.png'+'?' + Math.random();但是drawImage(img,x,y)不起作用,但是當我構造img.src ='chart.png?12345'時它可以工作。 – user1884367