html2canvas把div保存高清图的方法代码

本文主要和大家介绍了html2canvas把p保存图片高清图的方法示例的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。希望能帮助到大家。

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保存高清图的方法代码的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/3086695.html

(0)
上一篇 2025年3月28日 07:40:28
下一篇 2025年3月28日 07:41:00

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • Html中引入外部页面的方法

    通常一个网站的head,foot,rightBar(右侧的条目)都是相同的,这部分内容可以通过引入的方式,否则一旦需要修改,就需要修改十个,二十个,乃至更多的页面,是一项既繁琐但又毫无意义的工作。借助于PHP或者JSP,使用include能…

    编程技术 2025年3月28日
    100
  • html2canvas把div保存图片高清图(图文教程)

    1.选择html2canvas版本(这个版本可以放大倍数保证图片清晰) 默认生成的 canvas 图片在 retina 设备上显示很模糊,处理成 2 倍图能解决这个问题: var w = $(“#code”).width();var h =…

    编程技术 2025年3月28日
    100
  • HTML制作表格的方法

    在html中绘制表格使用table标签,tr表示行,td表示列,下面通过代码实例给大家介绍html表格的相关知识,感兴趣的朋友一起看看吧 在html中绘制表格使用table标签 tr表示行 td表示列 th表示表头,表头通常用于列名字…

    编程技术 2025年3月28日
    100
  • 使linux grep的输出不换行的方法有哪些

    环境: RedHat 本来ps -ef的输出是不会换行的,但是 ps -ef | grep java 就换行了。 如果想让grep完的结果不要换行,有两种方法。 解决方法: (一)在后面拼接 less -S: ps -ef | grep j…

    2025年3月13日
    200
  • vscode如何调试代码

    首先安装扩展调试插件debugger for chrome 点击瓢虫按钮,进行调试项目的配置,点击配置按钮 选择Chrome环境 会弹出Chrome调试配置文件launch.json,修改下端口即可 若是没有lauch.json配置文件产生…

    2025年3月13日 编程技术
    200
  • 详解CSV文件的打开和读取方法

    csv文件是一种常用的文本文件格式,用于存储和交换数据。csv文件的全称是逗号分隔值(comma-separated values),就是使用逗号来分隔不同字段的值。在许多应用程序和编程语言中,打开和读取csv文件是一个常见的操作。本文将详…

    编程技术 2025年3月13日
    200
  • Laravel学习指南:控制器方法调用的最佳实践

    在Laravel学习指南中,控制器方法的调用是一个非常重要的主题。控制器扮演着连接路由和模型的桥梁的角色,在应用程序中起着至关重要的作用。本文将介绍控制器方法调用的最佳实践,并提供具体的代码示例帮助读者更好地理解。 首先,让我们来了解控制器…

    2025年3月13日
    200
  • 怎么学会psps的方法

    1、首先我们先下载一个ps软件到电脑的桌面,然后我们打开软件就会出现ps软件的界面,我们先来看一下 2、我们接下来了解一下对话框的内容和其他的软件界面一样有菜单栏、工具栏、绘图栏等等,我们知道在上面的菜单栏里每个工具下面都有一个下拉菜单,我…

    2025年3月12日 编程技术
    200
  • 301重定向是什么意思?301的方法有哪些

    一:301是什么重定向 301重定向是SEO的一个非常重要的设置,它将用户和搜索引擎转移到正确的域名上,网站重新定位到另一个域名,301重定向从URL跳转到另一个URL,它是永久转让的搜索引擎网站访问者的代码,通过301重定向,搜索引擎和网…

    2025年3月12日
    200
  • javascript数组常用方法有哪些

    常用方法:1、push();2、unshift();3、pop();4、shift();5、splic();6、slice();7、sort();8、concat();9、reverse();10、join();11、forEach()等。…

    2025年3月11日
    200

发表回复

登录后才能评论