文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Vue怎么实现裁切图片功能

2023-06-30 09:15

关注

今天小编给大家分享一下Vue怎么实现裁切图片功能的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

效果:

Vue怎么实现裁切图片功能

1)、安装 vue-cropper 

npm install vue-cropper

2)、编写 .VUE 文件 cropper.vue 应为项目本身使用 mui 

<template>    <div>        <div class="mui-fullscreen">             <div class="top"  v-on:click="onBack()">                <img src="../assets/img/payMent/fanhui@2x.png" >                <p >实名认证</p>            </div>             <div >                <!-- <img id="image" :src="image" > -->                <img src="../assets/img/lobby/youxuanzhuan.png"                  v-on:click="rotateLeft()" />                <img src="../assets/img/lobby/zuoxuanzhuan.png"                  v-on:click="rotateRight()" />                   <div class="cropperContent">                     <vue-cropper ref="cropper" :img="option.img" :outputSize="option.size" :outputType="option.outputType" :info="true"                     :full="option.full" :canMove="option.canMove" :canMoveBox="option.canMoveBox" :original="option.original"                     :autoCrop="option.autoCrop" :fixed="option.fixed" :fixedNumber="option.fixedNumber" :centerBox="option.centerBox"                     :infoTrue="option.infoTrue" :fixedBox="option.fixedBox" @realTime="realTime"></vue-cropper>                   </div>                 <!--                 <div >                    <img :src="preview"  />                </div> -->             </div>              <div class="buttom"              v-on:click="onSelect()">                <p >确定</p>            </div>             <!--             <img :src="preview"  /> -->         </div>    </div></template> <script>    import {        VueCropper    } from 'vue-cropper'    export default {        data() {            return {                target: 0,                cropperHelp: null,                preview: null,                //裁剪组件的基础配置option                option: {                    img: '', // 裁剪图片的地址                    info: true, // 裁剪框的大小信息                    outputSize: 1, // 裁剪生成图片的质量                    outputType: 'jpeg', // 裁剪生成图片的格式                    canScale: false, // 图片是否允许滚轮缩放                    autoCrop: true, // 是否默认生成截图框                    autoCropWidth: 800, // 默认生成截图框宽度                    autoCropHeight: 500, // 默认生成截图框高度                    fixedBox: false, // 固定截图框大小 不允许改变                    fixed: true, // 是否开启截图框宽高固定比例                    fixedNumber: [16, 10], // 截图框的宽高比例                    full: false, // 是否输出原图比例的截图                    canMoveBox: true, // 截图框能否拖动                    original: false, // 上传图片按照原始比例渲染                    centerBox: true, // 截图框是否被限制在图片里面                    infoTrue: true // true 为展示真实输出图片宽高 false 展示看到的截图框宽高                },            }        },        components: {            VueCropper        },        methods: {            //放大/缩小            changeScale(num) {                console.log('changeScale')                num = num || 1;                this.$refs.cropper.changeScale(num);            },            //坐旋转            rotateLeft() {                console.log('rotateLeft')                this.$refs.cropper.rotateLeft();            },            //右旋转            rotateRight() {                console.log('rotateRight')                this.$refs.cropper.rotateRight();            },            // 实时预览函数            realTime(data) {                //this.previews = data            },            imgLoad(msg) {                console.log(msg)            },            cropImage() {             },              onSelect() {                                this.$refs.cropper.getCropBlob((data) => {                    //console.log("data===>",data)                    var img = window.URL.createObjectURL(data);                    this.$emit("onCutingResoult", {                        img: img,                        target: this.target                    })                })            },             onReset(param) {                this.target = param.target                this.option.img = param.url                this.preview = param.url            },            onBack() {                this.$emit("onCutingBack")            }        }     }</script> <style scoped>    .mui-fullscreen {        background: white;    }     .cropperContent {        width: 100%;        height: 100%;    }     </style>

以上就是“Vue怎么实现裁切图片功能”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     801人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     348人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     311人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     432人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     220人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯