vue页面截图;H5页面截图;vue项目中将特定网页内容生成图片(截图);html2canvas截图

功能
1.兼容 PC 和 Mobile;
2.对指定的区域进行截取;
3.可以控制截图大小;
4.截图生成base64图片地址
在这里插入图片描述

一、安装插件

npm install html2canvas --save  或 yarn add html2canvas

二、在.vue页面引入使用

import html2canvas from "html2canvas";

三、以下代码可直接复制

<template><div id="page"><div>页面截图 只截取指定区域</div><!-- 截图区域 --><div class="content" ref="content"><div style="float:left">这里是丰富的网页内容...</div><input type="text" style="width:300px;height: 30px;"><div style="height:100px">div盒子</div><div style="height:100px">300px</div></div><button class="btn" @click="getPrintScreen">获取截图</button><div class="img-box"><h2>截图结果:</h2><!-- 通过img标签把获取到的截图呈现出来 --><img :src="imgUrl" alt="" /></div></div>
</template><script>
import html2canvas from "html2canvas"export default {name: "Screenshot",data () {return {imgUrl: null, //截图地址}},methods: {//获取截图方法getPrintScreen () {// 第一个参数是需要生成截图的元素,第二个是自己需要配置的参数,宽高等html2canvas(this.$refs.content, {// width: 30, //截图宽度// height: 50, //截图高度backgroundColor: null, //画出来的图片有白色的边框,不要可设置背景为透明色(null)useCORS: true, //支持图片跨域scale: 1, //设置放大的倍数}).then((canvas) => {// 把生成的base64位图片上传到服务器,生成在线图片地址let url = canvas.toDataURL("image/png") // toDataURL: 图片格式转成 base64console.log('base64图片地址', url)this.imgUrl = url})},},
};
</script><!-- 本demo样式代码(不重要) -->
<style lang="less">
#page {padding: 0;width: 100%;height: 100%;background-color: #fff;.content {text-align: center;background-color: rgb(243, 161, 152);}.btn {display: block;width: 60vw;height: 50px;background: #79c76f;border-radius: 2vw;border: none;font-family: Source Han Sans CN;font-weight: 400;color: #ffffff;letter-spacing: 4px;text-align: center;margin: 30px 0 20px 40px;}
}
</style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/402909.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CentOS6.8升级gcc到4.8.5总结

From&#xff1a; http://www.cjjjs.com/paper/czxt/2017222114137150.aspx [摘要] 操作系统是CentOS6.8的32位版本&#xff0c;yum自带的gcc版本为4.4.7&#xff0c;不支持C11特性。所以需要升级到4.8.5&#xff0c;至少要升级到4.8.1才完全支持C11。本文提供了自动安装脚本和…

JAVA设计模式之【单例模式】

任务管理器案例 1.单例类 package Singleton;/*** Created by Jim on 2016/9/28.*/ public class TaskManager {private static TaskManager tm null;private TaskManager() {System.out.println("创建任务管理器");}public void displayProcesses() {System.out.pr…

【云计算】K8S DaemonSet 每个node上都运行一个pod

Kubernetes容器集群中的日志系统集成实践 Kubernetes是原生的容器编排管理系统&#xff0c;对于负载均衡、服务发现、高可用、滚动升级、自动伸缩等容器云平台的功能要求有原生支持。今天我分享一下我们在Kubernetes集群中日志管理的实践方案。在这个方案中&#xff0c;除了Doc…

企业微信报错https:// open.work.weixin.qq.com/devtool/query?e=60020

企业微信报错&#xff1a; not allow to access from your ip, hint: [1667358733640290333963300], from ip: 180.164.177.83, more info at https:// open.work.weixin.qq.com/devtool/query?e60020 企业微信对60020处理&#xff1a;我是没太搞懂这个 企业微信报错60020解决…

swagger接口数据上传

后端接口参数格式&#xff1a; 1.正常大对象传参&#xff1a; 2.正常参数传参&#xff1a; 3.第三者传参&#xff1a;

值得一做》关于并查集的进化题目 BZOJ1015(BZOJ第一页计划)(normal-)

这道题和以前做过的一道经典的洪水冲桥问题很像&#xff0c;主要做法是逆向思维。&#xff08;BZOJ第10道非SB题纪念&#xff09; 先给出题目 Description 很久以前&#xff0c;在一个遥远的星系&#xff0c;一个黑暗的帝国靠着它的超级武器统治者整个星系。某一天&#xff0c;…

Functional ProgrammingLazy Code:被我忘记的迭代器

本文给出一个Functional Programming和Lazy Code的一个例子。跟着思路走&#xff0c;关键的地方会有相应的说明。 我们想实现一个判断"素数"的小程序&#xff0c;如下&#xff1a; using System;namespace FunctionalProgramming {class Program{static void Main(st…

PhpStorm配置Xdebug调试PHP程序

From: http://blog.csdn.net/ljfrocky/article/details/46531137这篇文章主要介绍了如何使用PhpStorm Xdebug调试PHP程序&#xff0c;需要的朋友可以参考下。运行环境PhpStorm版本&#xff1a;8.0.3 PHP版本&#xff1a;5.4.12 xdebug版本&#xff1a;php_xdebug-2.2.3-5.4-vc…

对刚

3 /*直接链表模拟 */ #include<cstdio> #include<iostream> #define M 100010 using namespace std; int next[M],fa[M],vis[M],n,t; int main() {//freopen("jh.in","r",stdin);//freopen("resist.in","r",stdin);//freo…

动态修改el-input样式;动态修改elmentUI元素样式;css变量

场景&#xff1a;正常我们动态修改div元素的样式&#xff0c;使用:style和:class即可&#xff1b;但是我们想要动态修改element的组件样式时候&#xff0c;例如el-input字体颜色&#xff0c;由于el-input的样式嵌套很深&#xff0c;我们需要修改的实际是.el-input__inner这个样…

【Mac】sublime text3标题栏显示文件完整路径

开发的兄弟对于sublime text一定不会陌生&#xff0c;目前在mac上使用这个软件遇到一个小问题&#xff0c;就是标题栏只显示了文件名&#xff0c;而不是文件全路径&#xff0c;所以当一个项目里同名的文件比较多的时候&#xff0c;就怕搞错文件。因此&#xff0c;我非常希望标题…

Error: listen EADDRINUSE: address already in use :::7197

vue启动项目报 Error: listen EADDRINUSE: address already in use :::7197 我是直接将项目的终端关闭&#xff0c;然后重新打开终端输入 npm run dev 就启动好了

SpringAPI手动创建代理对象——ProxyFactory

2019独角兽企业重金招聘Python工程师标准>>> 可以通过注解的方式来自定义代理对象的创建&#xff0c;同时也可以通过SpringAPI&#xff0c;手动编程的方式来创建代理对象。 几个重要的API&#xff1a; ProxyFactory\MethodInterceptor\Advice\AfterReturningAdvice\…

关于Pac-Man,你所要了解的 一切

2019独角兽企业重金招聘Python工程师标准>>> 不论何时&#xff0c;它一直都是最伟大的游戏之一。这里有许多有关它的有趣的内幕&#xff1a;Pac-Man。 第一, 在一天之内重新创建Pac-Man 。 第二,对游戏种的每个鬼背后的人工智能的 一个非常详细的探讨 。 事实证明…

grunt入门 出处:http://artwl.cnblogs.com

grunt-contrib-uglify uglify是一个文件压缩插件&#xff0c;项目地址&#xff1a;https://github.com/gruntjs/grunt-contrib-uglify 本文将以一个DEMO来展示如何使用uglify插件。 DEMO环境 package.json: {"name": "grunt-demo","version": &q…

探讨NDK编译错误ld.exe: Dwarf Error: mangled line number section.

如题所示的NDK编译错误是什么原因导致的&#xff1f;我的困惑今天在把WIN32下的一个工程移植到ANDROID时遇到上述错误&#xff0c;感到非常困惑。错误如下&#xff1a;D:/ndkr8/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/bin/../lib/gcc/arm-linux-androideabi…

Visual Studio Code之常备快捷键

From: https://blog.csdn.net/u010019717/article/details/50443970 孙广东 2015.12.31 官方快捷键大全&#xff1a;https://code.visualstudio.com/docs/customization/keybindings Visual Studio Code是个牛逼的编辑器&#xff0c;启动非常快&#xff0c;完全可以用来代替其…

jquery中cookie用法实例详解(获取,存储,删除等)

这篇文章主要介绍了jquery中cookie用法,结合实例详细分析了jQuery操作cookie的获取,存储,删除等操作,并附带了Jquery操作Cookie记录用户查询过信息实现方法,需要的朋友可以参考下本文实例讲述了jquery中cookie用法。分享给大家供大家参考&#xff0c;具体如下&#xff1a; cook…

通过挂载系统光盘搭建本地yum仓库的方法

1、配置本地yum源&#xff08;挂载光盘&#xff09; mkdir /medir/cdrom(创建目录) mount /dev/cdrom / medir/cdrom (挂载到/ medir/cdrom目录&#xff09; 2、修改yum配置文件 3. 修改挂载路径/ medir/cdrom&#xff0c; 将gpgcheck1改为0 enabled0改为1. 4. yum list …

谷歌划词翻译

谷歌划词翻译是个谷歌插件 复制及时翻译很好用 插件下载地址 配置谷歌翻译方法