【发布时间】:2016-05-06 07:47:34
【问题描述】:
我正在尝试将包含一些 img 标签的 div 转换为 png。经过一番搜索,看起来最好的方法是使用 html2canvas 库。
问题是它对我不起作用,我不明白为什么。
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="lib/css/bootstrap.min.css">
<script src="lib/js/Blob.js"></script>
<script src="lib/js/canvas-to-blob.min.js"></script>
<script src="lib/js/FileSaver.js"></script>
<script src="lib/js/html2canvas.js"></script>
<script src="lib/js/jquery.min.js"></script>
<script src="lib/js/underscore-min.js"></script>
<title>Tests Only</title>
</head>
<body>
<div id="navigationButtons">
</div>
<div id="sourceScreen" style="width:200px">
<img id="lol" src="tier-icons/base_icons/bronze.png" />
</div>
<div id="targetScreen">
</div>
<script = "text/javascript">
jQuery('#navigationButtons').append('<button type="button" id="makeScreenshot">Screenshot</button>');
jQuery('#makeScreenshot').click(makeScreenshot);
function makeScreenshot(){
html2canvas(jQuery('#sourceScreen'), {
onrendered: function(canvas) {
jQuery('#targetScreen').html(canvas);
}
});
}
</script>
</body>
</html>
这是我的代码的 jsFiddle: https://jsfiddle.net/2vv79ehy/1/
我试图在这个例子中首先使用 1 个 img 标签,目标是在真实图像下显示画布。 我知道这个库的跨域资源存在问题,但是当我使用我的真实代码进行测试时,图像托管在我的计算机上。
有谁知道怎么做,或者是否有其他方法(如果它也能绕过跨域问题,那就太好了)?
【问题讨论】:
标签: javascript jquery canvas html2canvas