返回顶部
首页 > 资讯 > 前端开发 > JavaScript >html2canvas如何将div保存高清图
  • 605
分享到

html2canvas如何将div保存高清图

2024-04-02 19:04:59 605人浏览 安东尼
摘要

这篇文章主要介绍html2canvas如何将div保存高清图,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.选择html2canvas版本(这个版本可以放大倍数保证图片清晰)默认生

这篇文章主要介绍html2canvas如何将div保存高清图,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

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');
                                
                                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保存高清图”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网JavaScript频道!

--结束END--

本文标题: html2canvas如何将div保存高清图

本文链接: https://lsjlt.com/news/68423.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • html2canvas如何将div保存高清图
    这篇文章主要介绍html2canvas如何将div保存高清图,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.选择html2canvas版本(这个版本可以放大倍数保证图片清晰)默认生...
    99+
    2024-04-02
  • html2canvas如何实现将div保存图片高清图
    这篇文章将为大家详细讲解有关html2canvas如何实现将div保存图片高清图,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。本文介绍了html2canvas把div保存图片高清图的方法示例,分享给大家,...
    99+
    2023-06-09
  • html中canvas怎么把div保存高清图
    本文小编为大家详细介绍“html中canvas怎么把div保存高清图”,内容详细,步骤清晰,细节处理妥当,希望这篇“html中canvas怎么把div保存高清图”文章能帮助大家解决疑惑,下面跟着小编的思路慢...
    99+
    2024-04-02
  • Python+tkinter实现高清图片保存
    目录前言基本开发环境分析网页开始工作实现全部代码作为爱玩电脑的你是不是也需要经常更换一下自己的电脑壁纸呢 换上一张心仪的图片整个人都舒畅多了。但是在网上有很多心仪的图片想要保存下来,...
    99+
    2024-04-02
  • 怎么用Python+tkinter实现高清图片保存
    这篇“怎么用Python+tkinter实现高清图片保存”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么用Python+t...
    99+
    2023-06-29
  • windows中psd文件怎么保存为高清图片
    这篇“windows中psd文件怎么保存为高清图片”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看...
    99+
    2023-02-25
    windows
  • css如何保持div等高宽比
    那么css如何实现高度height随宽度width变化保持比例不变呢?即给定可变宽度的元素,它将确保其高度以响应的方式保持成比例(即,其宽度与高度的比率保持恒定)。下面以高宽 2:1 为例,通过2种方式来实现这种效果。方式一:利用定位实现....
    99+
    2023-06-03
  • 如何使用html2canvas将页面转成图并使用canvas2image下载
    这篇文章主要介绍如何使用html2canvas将页面转成图并使用canvas2image下载,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!使用html2canvas将页面转成图,用canvas2image下载本例使用...
    99+
    2023-06-09
  • C#如何将图片保存到一个XML文件
    这篇文章将为大家详细讲解有关C#如何将图片保存到一个XML文件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。将图片保存到一个XML文件WinForm的资源文件中,将PictureBox的Image属性等非...
    99+
    2023-06-26
  • win8如何清除电脑保存wifi
    这篇文章主要讲解了“win8如何清除电脑保存wifi”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“win8如何清除电脑保存wifi”吧! win8清除电脑...
    99+
    2023-01-03
    win8 wifi
  • PS图像如何保存
    这篇文章主要介绍“PS图像如何保存”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“PS图像如何保存”文章能帮助大家解决问题。 当我们处理完图片之后,我们可以点击【文...
    99+
    2024-04-02
  • potpalayer如何截图保存
    本篇内容介绍了“potpalayer如何截图保存”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!potpalayer截图保存的方法:首先,我们...
    99+
    2023-06-30
  • win10系统如何将全屏截图保存到桌面
    这篇文章将为大家详细讲解有关win10系统如何将全屏截图保存到桌面,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。使用组合快捷键win键+r键打开运行窗口,在打开的运行窗口中输入“regedit”点击确定打...
    99+
    2023-06-28
  • python如何将图片批量保存至word文档中
    目录将图片批量保存至word文档中将本地图片存储到word文档解决的方法总结将图片批量保存至word文档中 def picture_docx(path_picture,path_do...
    99+
    2023-02-01
    python图片 图片批量保存 图片保存至word文档
  • laravel视图缓存如何清除
    本篇内容主要讲解“laravel视图缓存如何清除”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“laravel视图缓存如何清除”吧!清除视图缓存,就是清除D:\phpStudy\WWW\BCCKi...
    99+
    2023-07-04
  • java内存占用高如何清理
    在Java中,内存占用高可能是因为程序中存在内存泄漏或者使用了大量的不必要的对象。以下是一些清理内存的方法: 使用垃圾回收器:J...
    99+
    2024-03-02
    java
  • R语言如何导出高清图
    这篇文章主要介绍R语言如何导出高清图,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在画图的时候遇到的一个问题就是,RStudio直接导出的图,怎么这么不清晰?为什么教程里别人的图都那么清晰呢?这时候可能就有同学就会说...
    99+
    2023-06-29
  • docker如何将容器保存为镜像
    要将容器保存为镜像,可以使用以下步骤: 确保容器正在运行,可以使用以下命令来查看正在运行的容器: docker ps 停止容...
    99+
    2024-04-08
    docker
  • photozoom如何修改图片保存
    本文小编为大家详细介绍“photozoom如何修改图片保存”,内容详细,步骤清晰,细节处理妥当,希望这篇“photozoom如何修改图片保存”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。photozoom修改图片...
    99+
    2023-07-04
  • Linux上如何清除RAM内存高速缓存
    本篇内容介绍了“Linux上如何清除RAM内存高速缓存”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!像任何其他的操作系统一样,GNU / L...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作