我这里有3个动态div,正在尝试将动态div转换为图像格式,如何将动态div转换为图像格式?有什么想法吗?
并且还需要隐藏动态div而只显示图像,请提供小提琴
Canvas2Image.saveAsPNG(canvas);
$("#img-out").append(canvas);
发布于 2015-10-19 05:52:53
$(function() {
$("#btnSave").click(function() {
html2canvas($("#widget"), {
onrendered: function(canvas) {
theCanvas = canvas;
document.body.appendChild(canvas);
// Convert and download as image
Canvas2Image.saveAsPNG(canvas);
$("#img-out").append(canvas);
// Clean up
//document.body.removeChild(canvas);
}
});
});
});
请查看此以供参考。
发布于 2015-10-19 06:40:21
我在jQuery的帮助下做了一个快速实现,并快速浏览了MDN的一个canvas examples。这肯定不是最好的方法,但你会明白的。
还有一件事是,当你使用Drawing DOM content to Canvas时,你可能需要注意安全问题。
jQuery('#htmlBlock').html(jQuery('#editor').val());
jQuery('#editor').on('change', function() {
jQuery('#htmlBlock').html(jQuery(this).val());
});
jQuery('#html2img').on('click', function() {
var canvas = document.createElement('canvas');
var ctx = canvas.getContext('2d');
template[3] = jQuery('#htmlBlock').html();
var svg = new Blob([template.join('')], {
type: 'image/svg+xml;charset=utf-8'
});
var url = DOMURL.createObjectURL(svg);
jQuery('#imgitem').attr('src', url);
});
var DOMURL = window.URL || window.webkitURL || window;
var template = [
'<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200">',
'<foreignObject width="100%" height="100%">',
'<div style="background-color: #AAA;max-width: 140px; padding: 10px;" xmlns="http://www.w3.org/1999/xhtml">',
'',
'</div>',
'</foreignObject>',
'</svg>'
];
#htmlBlock {
background-color: #AAA;
max-width: 140px;
padding: 10px;
}
label {
display: block;
margin: 10px 0;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<textarea id="editor" placeholder="editor">HelloWorld</textarea>
<button id="html2img">HTML2IMAGE</button>
<label>
HTML:
<div id="htmlBlock">
</div>
</label>
<label>
Image:
<div>
<img id="imgitem" />
</div>
</label>
https://stackoverflow.com/questions/33207421
复制相似问题