html2canvas 下载图片,scale、dpi处理图像模糊

这篇具有很好参考价值的文章主要介绍了html2canvas 下载图片,scale、dpi处理图像模糊。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、安装html2canvas 依赖

npm i html2canvas

2、 引入html2canvas.js

import html2canvas from "@/utils/html2canvas.js";

3、html

<el-button v-else class="close" @click="toImage">下载</el-button>

4、方法,scale和dpi 解决模糊

toImage() {
      html2canvas(this.$refs.container.querySelector(".canvas"), {
        // 以下字段可选
        width: 490, // canvas宽度
        height: 240, // canvas高度
        x: 0, // x坐标
        y: 0, // y坐标
        foreignObjectRendering: true, // 是否在浏览器支持的情况下使用ForeignObject渲染
        useCORS: true, // 是否尝试使用CORS从服务器加载图像
        async: true, // 是否异步解析和呈现元素
        // allowTaint:true, //允许不同源污染画布
        // proxy:'1',
        // willReadFrequently: true,
        // 以下字段必填
        background: "#ffffff", // 一定要添加背景颜色,否则出来的图片,背景全部都是透明的
        scale: 2, // 处理模糊问题
        dpi: 300, // 处理模糊问题
        onrendered: function (canvas) {
          var downloadUrl = canvas.toDataURL("image/jpeg");
          let aLink = document.createElement("a");
          aLink.style.display = "none";
          aLink.href = downloadUrl;
          aLink.download = "screenPic.png";
          // 触发点击-然后移除
          document.body.appendChild(aLink);
          aLink.click();
          document.body.removeChild(aLink);
        },
      }).catch((error) => {
        console.error("oops, something went wrong!", error);
      }).finally(this.close);
    },

html2canvas.js是从git上下载的:
https://github.com/eKoopmans/html2canvas/tree/develop/dist

单纯下载图片方法===

//确定1 用的npm i html-to-image@1.9.0
//确定2 用的 npm i html2canvas@1.4.1
<el-button v-else class="close" @click="htmlToImage">确定1</el-button> 
<el-button v-else class="close" @click="toImage2">确定2</el-button>

import { toPng } from "html-to-image";
import html2canvas from "@/utils/html2canvas.js";

htmlToImage() {
      toPng(this.$refs.container.querySelector(".canvas"),)
        .then((dataUrl) => {
          const a = document.createElement("a");
          a.setAttribute("download", "screenshot");

          a.href = dataUrl;
          a.click();
        })
        .catch((error) => {
          console.error("oops, something went wrong!", error);
        })
        .finally(this.close);
    },


toImage() {
      html2canvas(this.$refs.container.querySelector(".canvas"), {
        backgroundColor: '#ffffff'
      }).then(canvas => {
        var imgData = canvas.toDataURL("image/jpeg");
        this.fileDownload(imgData);
      })
    },
    fileDownload(downloadUrl) {
      let aLink = document.createElement("a");
      aLink.style.display = "none";
      aLink.href = downloadUrl;
      aLink.download = "海报.png";
      // 触发点击-然后移除
      document.body.appendChild(aLink);
      aLink.click();
      document.body.removeChild(aLink);
    },

参考:
1、解决html2canvas截图模糊的问题
2、html2canvas生成图片模糊 不清楚?两种解决方法
3、html2canvas在H5里生成的图片不清晰很模糊的终极解决方案
4、vue中将html页面转为图片并且下载该图片文章来源地址https://www.toymoban.com/news/detail-581485.html

到了这里,关于html2canvas 下载图片,scale、dpi处理图像模糊的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Html2canvas——图片空白的几种排查解决方案

    下列文章来源该篇   一、工作原理 html2canvas库的工作原理并不是真正的“截图”,而是读取网页上的目标DOM节点的信息来绘制canvas,所以它并不支持所有的css属性。 二、在 img标签中加载外部图片 前提是外部图片允许跨域,需要服务器设置 以nginx为例,response-header内要存在

    2024年03月20日
    浏览(46)
  • vue3中,使用html2canvas截图包含视频、图片、文字的区域

    需求:将页面中指定区域进行截图,区域中包含了图片、文字、视频。 第一步,先安装 第二步,在页面引入: 第三步,页面使用: 1)html部分: 2)js部分: 刚开始我截出的图只有文字,插图和视频部分是空白的,并没有将页面的插图和视频截进去,最终发现是 跨域 导致的

    2024年02月06日
    浏览(51)
  • 使用nginx+HTML2canvas将任意html网页转为png图片自定义张数

    本文简述如何使用nginx+html2canvas将任意网页html转为png图片 如果是本地网页,直接进行nginx反向代理就行 如果不是本地网页,需要简单利用工具转为本地网页 导入 导入,不能使用在线的库,只能下载到本地才能导入,因为会有同源限制,否则会报跨域错误。 下载导入 由于在

    2024年01月17日
    浏览(57)
  • 前端生成pdf之html2canvas+jsPDF,以及解决图片不显示bug

    开发背景: 需要给页面中相应的内容生成pdf,查找文档后发现要用到两个插件。html2canvas 以及 jsPDF html2canvas 给dom结构转化为canvas,然后生成各种类型图片 jsPDF 把canvas 生成的图片url 转化为pdf 参数 image:表示要插入的图片资源,可以是图片文件的路径或者base64编码字符串。

    2024年02月02日
    浏览(53)
  • 【vue-qrcode + html2canvas】前端二维码生成与下载

    其实一开始搜的时候,很多还都是推荐的 vue-qrcode ,于是就先用这个,但是发现想要在二维码中间放一个自定义的image的时候,这个库有点麻烦,需要自己将 image 图片盖在二维码上面(官方教程也是如此)。好吧,一开始我也这么干了,但是盖完之后,我需要下载这个有居中

    2024年04月17日
    浏览(49)
  • 【前端】html2canvas生成图片空白排查data:;(js vue react uniapp)

    因为要做一个分享图,就用到了html2canvas,一开始是好好的,今天随便测了下,发现图片显示不出来了。打印了下,生成的图片链接变成了 data:; 。后面一步一步地排查,发现是页面内容太多了,删减一点内容就能显示出来。然后我又去认真看了下html2canvas的各个参数,发现可

    2024年02月03日
    浏览(59)
  • 使用html2canvas,将页面转换成图片的图片模糊等踩坑记录(Web/Taro h5)

    使用 html2canvas 将页面转换成图片的采坑记录 1. 生成的图片很模糊 2. 生成的图片是空白 3. 生成的图片不完整 截图前是这样 截图后这样 截图后的图片图片缺省了一部分 问题1: 生成的图片很模糊(图片跨域) 方法一: 将canvas放大n倍再作图; 移动端的话,根据移动设备的 devicePixelR

    2024年02月05日
    浏览(55)
  • uniapp APP端使用html2canvas截图分享小程序卡片图片模糊、跨域等问题解决

    项目场景:uniapp  APP端,分享小程序到微信好友,使用html2canvas截取当前页面做卡片封面图。仅是需要展示部分内容用作卡片封面就可以,不强制需要全屏截图。 问题1、部分页面截取到的图片分享到微信后卡片图片模糊。 问题2、截图时报错:Failed to execute \\\'toDataURL\\\' on \\\'HTMLC

    2024年02月05日
    浏览(85)
  • html2canvas使用文档

    Install NPM Install Yarn 以 vue 举例,这样写起来比较方便 如果想要将图片导出,可以这样写 名称 默认值 描述 allowTaint false 是否允许跨源图像污染画布 backgroundColor #ffffff 画布背景色(如果在DOM中未指定),为透明设置null canvas null 用作绘图基础的现有画布元素 foreignObjectRendering

    2024年03月28日
    浏览(57)
  • html2canvas使用指南

      最近项目中需要使用到将网页中的内容下载成图片,通过按钮点击将页面保存下来,方便同事使用进行工作汇报。如图: 然后我想到了 html2canvas ,就可以解决我现在遇到的问题了。我火速从官网下载了js文件,这里附上链接:   http://html2canvas.hertzen.com/  这里   html2canvas

    2024年02月14日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包