vue对图片进行裁剪

安装依赖: npm install cropperjs -save

<template>
  <div class="bigBox">
    <h3>预览</h3>
    <!--  裁剪按钮-->
    <el-button @click="sureSava">裁剪</el-button>
    <el-button @click="confirm">确认</el-button>
    <el-button @click="deleteImg">取消</el-button>

<div class="flexBox">
    <div class="boxone">
      <img
        class="img"
        src="https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg"
        ref="image"
      />
    </div>
    <!--裁剪完的图片-->
    <div class="boxtwo">
      <img class="img" :src="afterImg" />
    </div>
</div>
  
  </div>
</template>

<script>
//引入依赖
import Cropper from 'cropperjs'
import 'cropperjs/dist/cropper.css'
export default {
  data() {
    return {
      // 裁剪后的图片
      afterImg: '',
      // 裁剪的图片
      // 进行裁剪
      myCropper: null,
       image:null,
    }
  },
  mounted() {},

  methods: {
    sureSava() {
      this.myCropper = new Cropper(this.$refs.image, {
        /*
        * viewMode 视图控制
          - 0 无限制
          - 1 限制裁剪框不能超出图片的范围
          - 2 限制裁剪框不能超出图片的范围 且图片填充模式为 cover 最长边填充
          - 3 限制裁剪框不能超出图片的范围 且图片填充模式为 contain 最短边填充
        * */
        viewMode:0,
        // 设置图片是否可以拖拽功能
        /*
        * dragMode 拖拽图片模式
          - crop 形成新的裁剪框
          - move 图片可移动
          - none 什么也没有
        * */
        dragMode: 'move',
        // 是否显示图片后面的网格背景,一般默认为true
        background: false,
        // 进行图片预览的效果
        preview: '.before',
        // 设置裁剪区域占图片的大小 值为 0-1 默认 0.8 表示 80%的区域
        autoCropArea: 0.8,
        // 设置图片是否可以进行收缩功能
        zoomOnWheel: true,
        // 是否显示 + 箭头
        center: true
      })
      console.log('===Cropper', this.myCropper)
    },
    confirm() {
      // 拿到裁剪后的图片
    //   this.afterImg = this.$refs.image
  this.afterImg=  this.myCropper.getCroppedCanvas({
          imageSmoothingQuality: 'high',
        })
        .toDataURL('image/jpeg') // 设置图片格式
        console.log( this.afterImg)
    },
    deleteImg(){
      this.myCropper.destroy() 
    }
  },
}
</script>

<style>
.flexBox{
  width: 1000px;
  height: 500px;
  display: flex;
  justify-content: center;
}
.boxone{
 flex: 1;
  border: 1px solid red;

}
.boxtwo{
width:400px;
  border: 1px solid green;
}
.img{
  width: 100%;
  height: 100%;
}
</style>

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

元宇宙3D品牌营销虚拟场景提升客户对企业的黏性

在这个充满创意与想象的3D元宇宙时代&#xff0c;我们为您推出了全新的3D元宇宙场景在线制作编辑平台&#xff0c;让您轻松构建专属的虚拟展厅&#xff0c;展现无限可能。 3D元宇宙场景在线制作编辑平台允许您快速完成空间设计&#xff0c;根据您的个性化需求&#xff0c;自由设…

1.1 QT随手简记(一)

QT学习篇1 1. QT简介 Qt是一个跨平台的库&#xff0c;它提供了丰富的功能&#xff0c;用于开发GUI应用程序、桌面应用程序、移动应用程序和嵌入式应用程序。Qt由Qt公司维护&#xff0c;是一个开源项目&#xff0c;支持多种操作系统&#xff0c;包括Windows、Linux、Mac OS等。…

Django路由与会话深度探索:静态、动态路由分发,以及Cookie与Session的奥秘

系列文章目录 Django入门全攻略&#xff1a;从零搭建你的第一个Web项目Django ORM入门指南&#xff1a;从概念到实践&#xff0c;掌握模型创建、迁移与视图操作Django ORM实战&#xff1a;模型字段与元选项配置&#xff0c;以及链式过滤与QF查询详解Django ORM深度游&#xff…

clickhouse(十五、存储优化实践)

文章目录 背景问题定位优化方式排序键设计写入顺序压缩算法 DoubleDeltaLowCardinality避免使用Nullable 总结 背景 clickhouse集群容量告警&#xff0c;项目中某些表占据大量的存储空间&#xff0c;借此机会对ck的存储优化进行实践学习&#xff0c;并通过多种方式测试验证优化…

元宇宙NFG交易市场:减少出入金的税和消泡沫

在元宇宙的宏伟画卷中&#xff0c;NFG&#xff08;非同质化商品&#xff09;以其独特魅力逐渐崭露头角&#xff0c;成为连接现实世界与数字世界的桥梁。NFG不仅仅是一种商品&#xff0c;更是一种创新的商业模式&#xff0c;为资金的流动与税收优惠带来了新的可能。 首先&#…

QT error: allocation of incomplete type ‘Ui::Server‘

目录 前言 报错内容&#xff1a; 过程解析&#xff1a; 原因分析&#xff1a; daisy.skye的博客 QT合集http://t.csdnimg.cn/wEVbu 前言 最近又开始需要做上位机了&#xff0c;要知道qt上位机对我来说已经3年没有接触了&#xff0c;最开始接触还是毕业时工作中的简单学习和…

【预计IEEE出版】第四届电子信息工程与计算机技术国际学术会议(EIECT 2024)

第四届电子信息工程与计算机技术国际学术会议&#xff08;EIECT 2024&#xff09; 2024 4th International Conference on Electronic Information Engineering and Computer Technology 2024年11月15-17日 | 中国 深圳 #往届均已成功见刊、EI检索;先投稿&#xff0c;先送审…

CSS学习|css三种导入方式、基本选择器、层次选择器、结构伪类选择器、属性选择器、字体样式、文本样式

第一个css程序 css程序都是在style标签中书写 打开该网页&#xff0c;可以看到h1标签中的我是标题被渲染成了红色 可以在同级目录下创建一个css目录&#xff0c;专门存放css文件&#xff0c;可以和html分开编写 然后在html页面中&#xff0c;利用link标签以及css文件地址&…

【AI大模型】基于Langchain和Openai借口实现英文翻译中文应用

&#x1f680; 作者 &#xff1a;“大数据小禅” &#x1f680; 文章简介 &#xff1a;本专栏后续将持续更新大模型相关文章&#xff0c;从开发到微调到应用&#xff0c;需要下载好的模型包可私。 &#x1f680; 欢迎小伙伴们 点赞&#x1f44d;、收藏⭐、留言&#x1f4ac; 目…

C++ primer例子1实现

问题 代码 Sales_item.h #include<iostream> #include<string> class Sales_item {public:Sales_item(){};Sales_item(std::string insid, int num, double price);friend std::istream& operator>>(std::istream& is, Sales_item& item);frie…

LeetCode-43. 字符串相乘【数学 字符串 模拟】

LeetCode-43. 字符串相乘【数学 字符串 模拟】 题目描述&#xff1a;解题思路一&#xff1a;模拟乘法&#xff0c;两个数中每一位数相乘的时候乘上他们各自的进制数&#xff0c;之后求和。循环时&#xff0c;分别记录各自的进制数背诵版&#xff1a;解题思路三&#xff1a;0 题…

课程标准包括哪些内容

在教育的广阔天地中&#xff0c;课程标准如同一座灯塔&#xff0c;照亮了教师们的教学之路。那么&#xff0c;这座灯塔究竟照亮了哪些关键领域呢&#xff1f; 课程标准为我们指明了教学目标。这些目标是教学活动的航标&#xff0c;指引我们如何根据学生的认知水平和学习需求&a…

防火墙是什么?探讨部署Web防火墙的必要性

如今&#xff0c;多云环境、API安全功能扩展、合作伙伴集成即时可用、可用性和可视化增强以及提高自动化程度已经成为基本要求。伴随企业应用架构的迁移&#xff0c;在用户端&#xff0c;需要在部署环境不断扩展但人员技能有限的情况下&#xff0c;保护数量日益增长的应用安全。…

如何在springboot项目中使用Mybatisplus

文章目录 1.mybatisplus的作用2.mybatisplus使用流程2.1pom.xml文件中增加依赖&#xff08;点击右上角蓝色按钮下载依赖&#xff09;2.2navicat新建数据库&#xff0c;增加application.properties数据库配置2.3 启动类添加注解&#xff0c;增加mapper包操作数据库2.5添加实体类…

如何通过PHP语言实现远程控制多路照明

如何通过PHP语言实现远程控制多路照明呢&#xff1f; 本文描述了使用PHP语言调用HTTP接口&#xff0c;实现控制多路照明&#xff0c;通过多路控制器&#xff0c;可独立远程控制多路照明。 可选用产品&#xff1a;可根据实际场景需求&#xff0c;选择对应的规格 序号设备名称厂…

springboot 图形验证码 前后端分离解决方案 easy-captcha

easy-captcha介绍 easy-captcha&#xff0c;提供了Java图形验证码&#xff0c;支持gif、中文、算术等类型&#xff0c;可用于Java Web、JavaSE等项目&#xff0c;是个很好用的工具库&#xff0c;文档比较完备。 用法 添加maven依赖 <!--图形验证码--><dependency&g…

像图一样交流:为大语言模型编码图

译者 | 高永祺 单位 | 东北大学自然语言处理实验室 原文链接&#xff1a;https://blog.research.google/2024/03/talk-like-graph-encoding-graphs-for.html 1.作者介绍 Bahare Fatemi&#xff0c;谷歌蒙特利尔研究部门的研究科学家&#xff0c;专门从事图表示学习和自然语言…

YOLO-Worldv2两分钟快速部署

本次部署使用的框架基于ultralytics&#xff0c; 并且已经集成最新版本的YOLOv8框架&#xff1a; 一键环境配置 pip install ultralytics基础使用 训练 from ultralytics import YOLOWorld model YOLOWorld(yolov8x-worldv2.pt) results model.train(datacoco8.yaml, epo…

【全开源】知识库文档系统(ThinkPHP+FastAdmin)

&#x1f4da;知识库文档系统&#xff1a;解锁知识的无限可能 一款基于ThinkPHPFastAdmin开发的知识库文档系统&#xff0c;可用于企业工作流程的文档管理&#xff0c;结构化记录沉淀高价值信息&#xff0c;形成完整的知识体系&#xff0c;能够轻松提升知识的流转和传播效率&a…

高通开发系列 - 借助libhybris库实现Linux系统中使用Andorid库

By: fulinux E-mail: fulinux@sina.com Blog: https://blog.csdn.net/fulinus 喜欢的盆友欢迎点赞和订阅! 你的喜欢就是我写作的动力! 返回:专栏总目录 目录 概述Android代码下载和编译aarch64开发环境libhybris下载和编译libhybris测试验证调用库中的函数概述 我主要是基于…