Javascript:将画布另存为图像 ==>“未捕获的类型错误:未定义不是函数”
Posted
技术标签:
【中文标题】Javascript:将画布另存为图像 ==>“未捕获的类型错误:未定义不是函数”【英文标题】:Javascript: save canvas as image ==> "Uncaught TypeError: undefined is not a function" 【发布时间】:2014-08-05 08:53:58 【问题描述】:我正在尝试将谷歌地图画布保存为 .png 图像。但我反复收到此错误: ==> "Uncaught TypeError: undefined is not a function"
==> 在以下情况下会发生错误:
ctx = canvas.getContext("2d")
被称为
我使用这里找到的 FileSaver.js、Blob.js 和 canvas-toBlob.js: https://github.com/eligrey/FileSaver.js
这里是代码(注意:googelmaps initializeMap 函数不包括在内):
<html>
<head>
<script>
function initializeMap()
.... bla bla bla ...
google.maps.event.addListenerOnce(map, 'idle', function()
var canvas = document.getElementById('SingleMapCanvas'), ctx = canvas.getContext("2d");
canvas.toBlob(function(blob)
saveAs(blob, "prettyImage.png");
);
);
</script>
</head>
<body onload="initializeMap();">
<div id="SingleMapCanvas">
</div>
</body>
</html>
【问题讨论】:
【参考方案1】:您在 HTML 中提到的标签应该是“画布”标签而不是“div”
<body onload="initializeMap();">
<canvas id="SingleMapCanvas">
</canvas>
</body>
这是一个同样的 jsFiddle demo。希望对你有帮助:)
【讨论】:
太棒了,图像已保存,但它是空的。但那是一个不同的问题,可能是另一个问题。谢谢。 @xpnimi 如果有效,请您将答案标记为正确:)以上是关于Javascript:将画布另存为图像 ==>“未捕获的类型错误:未定义不是函数”的主要内容,如果未能解决你的问题,请参考以下文章