功能描述:

1.在vue2中实现截图粘贴功能且粘贴的图片宽高自适应容器设置的宽高,只允许在容器内粘贴一张图片,若容器内有图片,粘贴其他图片则自动替代新粘贴的图片.

2.清除容器内图片

3.粘贴的图片预览,且可通过鼠标滚轮缩放预览图

<template><div><div id="container" @paste="onPaste" style="width: 300px; height: 200px; border: 1px solid black;"><input v-if="inputVal" style="height: 100%; width: 100%;" type="text"><img :src="data:imageURL" v-if="imageURL" style="width: 100%; height: 100%; object-fit: cover;"></div><button @click="clearImage">清除图片</button><button @click="openModal">预览原图</button><!-- 预览页面可鼠标滚轮缩放预览图片 --><div v-show="showModal" class="modal" @click="closeModal" @wheel="onMouseWheel"><img :src="data:imageURL" v-if="imageURL" :style="{ transform: `scale(${scale})` }"><button @click="closeModal">关闭</button></div></div>
</template><script>
export default {data() {return {imageURL: null,showModal: false,scale: 1,inputVal: true,};},methods: {// 监听粘贴事件onPaste(e) {this.inputVal = falseconst items = (e.clipboardData || window.clipboardData).items;let blob = null;for (let i = 0; i < items.length; i++) {if (items[i].type.indexOf('image') === 0) {blob = items[i].getAsFile();}}console.log(blob);// 如果粘贴的内容不是图片if (blob == null) {alert('请先截图或复制图片')return}// 如果粘贴的内容是图片if (blob !== null) {const reader = new FileReader();reader.onload = (e) => {// 更新图片URLthis.imageURL = e.target.result;};reader.readAsDataURL(blob);}},clearImage() {this.imageURL = null;this.inputVal = true},openModal() {this.showModal = true;},closeModal() {this.showModal = false;},onMouseWheel(e) {// 检测滚轮方向const delta = Math.sign(e.deltaY);// 根据滚轮方向调整缩放比例if (delta > 0) {this.scale -= 0.1;} else if (delta < 0) {this.scale += 0.1;}// 限制缩放比例的范围if (this.scale < 0.1) {this.scale = 0.1;} else if (this.scale > 3) {this.scale = 3;}}}
};
</script><style>
.modal {position: fixed;top: 0;left: 0;right: 0;bottom: 0;background-color: rgba(0, 0, 0, 0.5);display: flex;justify-content: center;align-items: center;overflow: hidden;
}.modal img {max-width: 100%;max-height: 100%;transition: transform 0.3s ease;
}.modal button {position: absolute;top: 10px;right: 10px;
}
</style>

vue2:实现微信截图(复制图片)在项目内可粘贴,且图片清晰度无损(代码可直接用)相关推荐

  1. php 获取图片字节,php内置函数获取图片类型-exif_imagetype

    在PHP获取图片类型可以使用PHP内置函数中的 exif_imagetype 预定义常量 定义有以下常量,并代表了 exif_imagetype() 可能的返回值: 图像类型常量 值 常量 1 IMA ...

  2. linux用命令下载图片,Linux命令行下快速查看图片

    适用目录下图片文件非常多,文件管理器容易卡死,打开时间反应长的情况. 参考 https://www.cnblogs.com/dylancao/p/7894836.html pho 功能特点 pho 非 ...

  3. Java实现鼠标右键快捷保存QQ微信截图和复制的文字

    Java实现鼠标右键快捷保存QQ微信截图和复制的文字 首先,我们能实现保存剪贴板内容,以下是我的源代码和解释 import java.awt.*; import java.awt.datatransf ...

  4. 微信截图无法发送,也发不出电脑上的图片

    微信截图无法发送,也发不出电脑上的图片 现象 今天微信突然出现这个问题,怎么改设置都调不好,卸载重装都不行,最后发现,微信的消息目录中,一些文件无法删除,提示"文件或目录损坏且无法读取&qu ...

  5. android仿微信图片编辑器,electron/vue可编辑框contenteditable|仿微信截图

    基于Electron+vue实现div可编辑contenteditable插入表情|electron-vue截图功能 为了避免使用 vue 手动建立起 electron 应用程序.electron-v ...

  6. canvas java 上传截图_在Vue项目中使用html2canvas生成页面截图并上传

    使用方法 项目中引入 npm install html2canvas html代码 //html代码 js代码 // 引入html2canvas import html2canvas from 'ht ...

  7. 仿照微信的效果,实现了一个支持多选、选原图和视频的图片选择器,适配了iOS6-10系统,3行代码即可集成....

    重要提示: 1. 1.9.0版本已发布,移除了"prefs:root="的调用,这个API已经被列为私有API,请大家尽快升级.其它同样使用了该API的库大家可以检查下,比如著名的 ...

  8. python截图识别文字_用百度ocr+微信截图实现文字识别

    作用:将图片中的文字识别出来 一.调用微信截图dll控件 将微信截图插件复制到项目文件,使用ctypes加载(胶水语言就是给力) def capture(): try: dll = ctypes.cd ...

  9. PC版微信截图的bug

    客户报障,微信截图,粘贴到微信中再复制出来后为jpg格式图片,上传系统显示图片格式错误:使用原始图片上传就没问题(也是jpg格式) 查看代码,系统对图片格式的校验规则如下: public functi ...

  10. 图片无限放大,不模糊,图片移动,仿微信图片放大

    写此程序背景 看到微信的图片浏览的强大功能,于是自己写了一个.原则上可以无限放大,但是放大部分     像素必须有原图片的1个像素,最小也不能小于1*1像素. 思路: 功能解剖: 缩放:微信的缩放能缩 ...

最新文章

  1. formdata上传文件_大文件分片断点上传实现思路以及方案
  2. 【IT笔试面试题整理】字符串的组合
  3. JAVA——Scanner读取文件
  4. psa name_Windows 10安全性PSA:启用自动商店更新
  5. Leetcode143. Reorder List重排链表
  6. [hadoop] kettle spoon 基础使用 (txt 内容抽取到excel中)
  7. 学习网站(不断更新)
  8. HDU 5781 ATM Mechine(概率dp)
  9. 《Pro ASP.NET MVC 3 Framework》学习笔记之十八【URL和Routing】
  10. C语言指针实数组输入输出,C语言:回来两个数组中第一个元素的指针,并输出这个值...
  11. 团“模子”政策模式乱舞
  12. java基础总结03-进制
  13. 键盘按键响应时间越快越好吗_按键响应、按键无冲、按键调速到底是怎么一回事?...
  14. python 柱状图 内部颜色_matplotlib画柱状图,设置同一幅图上的柱子呈现不同颜色...
  15. 1357. 路径总和 II
  16. linux_C_fork函数/execv/execl的使用_数据类型pid_t/getpid/sleep /warning: missing sentinel in function call
  17. Win7电脑右下角声音图标小喇叭出现红叉没有声音解决方案
  18. Win7系统服务优化攻略
  19. 裁判文书网爬虫Docid解密思路
  20. 报头压缩-ROHC压缩系统

热门文章

  1. BZOJ 4631 踩气球
  2. 基于JAVA景区失物招领平台演示录像计算机毕业设计源码+系统+mysql数据库+lw文档+部署
  3. FreeSWITCH 1.10.10 简单图形化界面2 - 并发性能测试
  4. Graph Summarization Methods and Applications: A Survey
  5. 微信小程序-tempfilePath、cloudPath、fileID到底是个什么东西
  6. 【条形码识别】基于matlab GUI条形码识别【含Matlab源码 2553期】
  7. 电商平台下的竞品分析与总结
  8. WindowsPhone第三方控件-Resco MobileForms Toolkit 2012
  9. 外贸站有流量并不代表销量好,以SEO思维赋能转化
  10. Java 线程池学习_亮仔_新浪博客