源码动态 源码评测 源码技巧 网站运营 网页制作 网站开发 安全相关 软件教程 IDC资讯 业界消息
高级搜索
关键字:Discuz!  Axure  团购系统
最新更新发布资源提建议收藏本站
当前位置:A5源码 > 资讯报道 > 网页制作 > html2canvas把div保存图片高清图的方法示例

html2canvas把div保存图片高清图的方法示例

作者:zy来源:未知浏览:时间:2018-03-07 16:19我要评论
本文介绍了html2canvas把div保存图片高清图的方法示例,分享给大家,具体如下: http://www.bootcdn.cn/(可以搜索html2canvans) 1.选择html2canvas版本(这个版本可以放大倍数保证图片清晰) 默认生成的 canvas 图片在 retina 设备上显示很模糊。

本文介绍了html2canvas把div保存图片高清图的方法示例,分享给大家,具体如下:

http://www.bootcdn.cn/(可以搜索html2canvans)

1.选择html2canvas版本(这个版本可以放大倍数保证图片清晰)

默认生成的 canvas 图片在 retina 设备上显示很模糊,处理成 2 倍图能解决这个问题:

var w = $("#code").width();

var h = $("#code").height();

//要将 canvas 的宽高设置成容器宽高的 2 倍

var canvas = document.createElement("canvas");

canvas.width = w * 2;

canvas.height = h * 2;

canvas.style.width = w + "px";

canvas.style.height = h + "px";

var context = canvas.getContext("2d");

//然后将画布缩放,将图像放大两倍画到画布上

context.scale(2,2);

html2canvas(document.querySelector("#code"), {

canvas: canvas,

onrendered: function(canvas) {

...

}

});

下载方法:

.on('click','.download',function(){

$('#mycanvas').remove();

var _height=$('.skinReport').height();

//滚到顶部

$('html, body').animate({scrollTop:0});

if(confirm('是否下载肌肤检测报告?')) {

setTimeout(function(){

var canvas = document.createElement("canvas"),

w=$('#skinReport').width(),

h=$('#skinReport').height();

canvas.width = w * 2;

canvas.height = h * 2;

canvas.style.width = w + "px";

canvas.style.height = h + "px";

var context = canvas.getContext("2d");

//然后将画布缩放,将图像放大两倍画到画布上

context.scale(2,2);

html2canvas(document.getElementById('skinReport'), {

allowTaint: false,taintTest: true,canvas: canvas,onrendered: function(canvas) {

canvas.id = "mycanvas";

canvas.style.display = 'none';

document.body.appendChild(canvas);

//生成base64图片数据

imgData = canvas.toDataURL(type);

//var newImg = document.createElement("img");

//newImg.src = dataUrl;

//document.body.appendChild(newImg);

//console.log(imgData);

var _fixType = function(type) {

type = type.toLowerCase().replace(/jpg/i, 'jpeg');

var r = type.match(/png|jpeg|bmp|gif/)[0];

return 'image/' + r;

};

// 加工image data,替换mime type

imgData = imgData.replace(_fixType(type),'image/octet-stream');

/**

* 在本地进行文件保存

* @param {String} data 要保存到本地的图片数据

* @param {String} filename 文件名

*/

var saveFile = function(data, filename){

var save_link = document.createElementNS('http://www.w3.org/1999/xhtml', 'a');

save_link.href = data; save_link.download = filename;

var event = document.createEvent('MouseEvents');

event.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);

save_link.dispatchEvent(event); };

// 下载后的问题名

var filename = aname+'肌肤检测报告' + (new Date()).getTime() + '.' + type;

// download saveFile(imgData,filename); },width:1512,height:15000})},2500)}else{return;}})

以上就是本文的全部内容,希望对大家的学习有所帮助。

相关文章
网友对“html2canvas把div保存图片高清图的方法示例”的评论
资讯分类
本类热门资讯
  • 源码推荐
  • 软件推荐
关于我们联系我们发布资源广告服务合作伙伴网站地图版权声明与我们对话