当前位置: 首页 > wzjs >正文

企业做推广有几种方式百度seo规则

企业做推广有几种方式,百度seo规则,中铁建设集团网站,中山网站建设中山在工作中偶尔会遇到要将整个网页或者网页的局部转为图片保存下来,最开始使用html2canvas,发现只能转可视窗口里面的元素,并且会存在css样式乱码、饿了么组件变形等问题,最后发现使用dom-to-image可以实现自己的需求 一、安装dom-…

        在工作中偶尔会遇到要将整个网页或者网页的局部转为图片保存下来,最开始使用html2canvas,发现只能转可视窗口里面的元素,并且会存在css样式乱码、饿了么组件变形等问题,最后发现使用dom-to-image可以实现自己的需求

一、安装dom-to-image

npm install dom-to-image

二、演示页面

先做一个简单的demo页面,做了预览功能和下载功能。

<template><div class="content"><div class="left"><el-button type="primary" @click="preview">预览</el-button><el-button type="primary" @click="download">下载</el-button><el-imagestyle="width: 200px; height: auto;margin-top: 100px":src="imgUrl":zoom-rate="1.2":max-scale="7":min-scale="0.2":preview-src-list="[imgUrl]":initial-index="1"fit="cover"/></div><div class="right" ref="rightRef"><div class="item red"></div><div class="item green"></div><div class="item blue"></div><div class="item gray"></div></div></div>
</template><style scoped lang="scss">
.content {width: 100vw;height: 100vh;display: flex;.left {width: 300px;}.right {flex: 1;overflow: auto;}.item {width: 100%;height: 33%;margin-bottom: 20px;}.red {background-color: rgba(255, 0, 0, .5);}.green {background-color: rgba(0, 255, 28, .5);}.blue {background-color: rgba(55, 2, 255, .5);}.gray {background-color: rgba(179, 179, 179, .5);}
}</style>

三、dom-to-image的使用

import domtoimage from 'dom-to-image';const rightRef = ref() //要进行转化为图片的元素对象
const imgUrl = ref() //用于存储图片地址//预览图片
function preview() {domtoimage.toPng(rightRef.value).then(function (base64Image:any) {imgUrl.value = base64Image  //转化出来后的数据是base64的类型})
}

点击预览后,当前窗口中的元素就已经被转为图片格式了

四、当前页面超出滚动条部分的处理

根据dom-to-image官网:https://github.com/tsayen/dom-to-image?tab=readme-ov-file的提示,可以设置图片的宽高和样式

于是可以在生成图片的时候,将图片的宽高设置为所需元素的宽高

//预览图片
function preview() {// 临时移除高度限制(如果需要)const originalHeight = rightRef.value.style.height;rightRef.value.style.height = 'auto'; //先把高度放开// 定义图片的变量const option = { width: rightRef.value.scrollWidth,  // 确保宽度包含所有内容height: rightRef.value.scrollHeight, // 确保高度包含所有内容style: {overflow: 'visible',      // 确保内容不会被裁剪},}domtoimage.toPng(rightRef.value,option).then(function (base64Image:any) {rightRef.value.style.height = originalHeight; // 再将盒子恢复成原样imgUrl.value = base64Image})
}

这个时候,点击预览出现的图片,就会是完整的元素图片

再添加一个下载功能

function download() {// 下载日报图片const a = document.createElement('a');a.href = imgUrl.value;a.download = '网址转图片.png';document.body.appendChild(a);a.click();document.body.removeChild(a);
}

五、完整demo代码

<script setup lang="ts">
import {ref} from 'vue'
import domtoimage from 'dom-to-image';const rightRef = ref() //需要进行网页转图片的实例
const imgUrl = ref() //用于存放base64//预览图片
function preview() {// 临时移除高度限制(如果需要)const originalHeight = rightRef.value.style.height;rightRef.value.style.height = 'auto'; //先把高度放开// 定义图片的变量const option = {width: rightRef.value.scrollWidth,  // 确保宽度包含所有内容height: rightRef.value.scrollHeight, // 确保高度包含所有内容style: {overflow: 'visible',      // 确保内容不会被裁剪},}domtoimage.toPng(rightRef.value,option).then(function (base64Image:any) {rightRef.value.style.height = originalHeight; // 再将盒子恢复成原样imgUrl.value = base64Image})
}function download() {// 下载日报图片const a = document.createElement('a');a.href = imgUrl.value;a.download = '网址转图片.png';document.body.appendChild(a);a.click();document.body.removeChild(a);
}</script><template><div class="content"><div class="left"><el-button type="primary" @click="preview">预览</el-button><el-button type="primary" @click="download">下载</el-button><el-imagestyle="width: 200px; height: auto;margin-top: 100px":src="imgUrl":zoom-rate="1.2":max-scale="7":min-scale="0.2":preview-src-list="[imgUrl]":initial-index="1"fit="cover"/></div><div class="right" ref="rightRef"><div class="item red"></div><div class="item green"></div><div class="item blue"></div><div class="item gray"></div></div></div>
</template><style scoped lang="scss">
.content {width: 100vw;height: 100vh;display: flex;.left {width: 300px;}.right {flex: 1;overflow: auto;}.item {width: 100%;height: 33%;margin-bottom: 20px;}.red {background-color: rgba(255, 0, 0, .5);}.green {background-color: rgba(0, 255, 28, .5);}.blue {background-color: rgba(55, 2, 255, .5);}.gray {background-color: rgba(179, 179, 179, .5);}
}</style>

http://www.dtcms.com/wzjs/169639.html

相关文章:

  • 电商网站设计seo排名点击手机
  • 毕业设计做网站论文seo服务建议
  • 做网站怎么云存储百度seo价格查询
  • 合肥平台网站建设百度竞价推广开户费用
  • 三合一网站建设多少钱浙江搜索引擎优化
  • 网站建设阶段河南关键词排名顾问
  • 微网站搭建今日头条极速版官网
  • 秦皇岛网站搜索优化站长之家
  • 东莞做公众号的网站济南百度
  • 公司做网站费用和人员配备常用seo站长工具
  • 色彩设计网站app网站
  • 三栏wordpress模板下载济南网站优化培训
  • 山东烟台城乡建设学校官方网站湛江今日头条新闻
  • 公司网站 优帮云wix网站制作
  • 广州网站建设泸州seo查询
  • 金阊seo网站优化软件steam交易链接在哪里看
  • 老k频道网站入口最新热点新闻事件
  • 设计公司调研报告大连seo
  • 网站建设中可能升级今日新闻联播
  • 网站建设怎么骗人成都seo排名
  • wordpress与Wix对比济南做seo的公司排名
  • 外贸网站怎么找客户杭州百度推广代理公司哪家好
  • 魔贝课凡seoseo网站
  • 电脑做高考真题的网站百度客服系统
  • 模板网站建设青岛网站指数查询
  • wordpress主题文章页面不显示图片本溪seo优化
  • 网站开发设计需求电话营销销售系统
  • 海东商城网站建设灰色关键词代发可测试
  • 网站建设所需物资东莞网站推广营销
  • 绍兴seo网站推广网站内部优化有哪些内容