最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue3圖片剪裁插件vue-img-cutter使用小結(jié)

 更新時(shí)間:2024年01月30日 09:36:49   作者:二條學(xué)前端  
Vue.js是一款流行的JavaScript前端框架,很受用戶喜愛,這篇文章主要介紹了vue3圖片剪裁插件vue-img-cutter使用小結(jié),本文結(jié)合示例代碼講解的非常詳細(xì),感興趣的朋友一起看看吧

很多博主都寫了vue-img-cutter這個(gè)插件怎么用,并且官網(wǎng)也有案例,但都是從上傳圖片開始的。我想要的是本來就有圖片不用用戶重新上傳或者先刪掉當(dāng)前的圖片再上傳裁剪,重點(diǎn)就是:已經(jīng)有圖片了。

接下來說說實(shí)現(xiàn)代碼吧

1.首先下載、安裝vue-img-cutter依賴

npm install vue-img-cutter --save-dev
或者
yarn add vue-img-cutter --save-dev

2.創(chuàng)建CutterImg.vue文件

先在官網(wǎng)上選擇配置,生成案例代碼,然后扒拉下來,進(jìn)行修改(官網(wǎng):vue-img-cutter),官網(wǎng)上就是從開始上傳圖片開始的,如果需要官網(wǎng)的效果直接復(fù)制官網(wǎng)的代碼修改即可。

3.接下來是根據(jù)我自己的需求修改的代碼:

<template>
    <div>
      <div style="display: flex; flex-direction: row">
        <ImgCutter
          ref="imgCutterModal"
          v-on:cutDown="cutDownImg"
          :WatermarkText="''"
          :is-modal="false"
          :tool="false"
          :sizeChange="false"
          :boxWidth="700"
          :boxHeight="458"
          :cutWidth="470"
          :cutHeight="270"
          @onPrintImg="cutterPrintImg"
          :originalGraph="true"
          style="padding: 10px"
        >
          <template #cancel>
            <div></div>
          </template>
        </ImgCutter>
        <div style="margin-left: 10px; padding: 10px">
          <div
            style="
              margin-left: 10px;
              padding-bottom: 20px;
              font-size: 18px;
              font-weight: bold;
            "
          >
            圖像預(yù)覽
          </div>
          <div style="width: 470px;height: 270px; border: 1px solid #e8e8e8; background-color: rgba(0, 0, 0, 0.1)">
            <img :src="temImgPath" style="width: 100%" />
          </div>
        </div>
      </div>
    </div>
  </template>
<script setup>
  import ImgCutter from "vue-img-cutter";//引入vue-img-cutter
  import { ref, watch, onMounted} from "vue";
  const emit = defineEmits(["getCoverImage"]);//與父組件事件通信
  const props = defineProps({
    imgUrl: String,
  });
  const temImgPath = ref("");
  const imgCutterModal=ref();
  watch(
    () => props.imgUrl,
    (val, o) => {
      temImgPath.value = props.imgUrl;
      imgCutterModal.value.handleOpen({
          name:"封面圖片",
          src:props.imgUrl
      });
    }
  );
  //實(shí)時(shí)更新預(yù)覽效果
  function cutterPrintImg(obj) {
    temImgPath.value = obj.dataURL;
  }
  // 圖片裁剪點(diǎn)擊確認(rèn)后觸發(fā)
  function cutDownImg(option) {
     //向后端發(fā)送請求等
     //請求成功時(shí),emit("getCoverImage"),讓父組件再次獲取剛修改的新圖片
  }
  </script>
<style lang="less" scoped>
  .remove-btn-wrap {
    position: absolute;
    left: 0;
    bottom: 0;
    right: 0;
    top: 0;
    text-align: center;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.5);
  }
  .ant-upload:hover .remove-btn-wrap {
    display: flex;
  }
  :deep(.ant-upload) {
    img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      border-radius: 2px;
    }
  }
  :deep(.copyright a[data-v-391393b9]){
      display: none !important;
    }
  </style>

父組件:也就是你想要用到圖片剪裁的組件

<template>
<CutterImg :imgUrl="imgData.propsURL" @getCoverImage="getCoverImage"></CutterImg>
</template>
<script setup>
import CutterImg from "@/components/CutterImg.vue";
//獲取封面圖片
const getCoverImage = () => {
  //發(fā)送請求
}
</script>

imgData.propsURL是來自于后端請求獲取到的目前頁面顯示的圖片地址。請自行替換。

4.修改之后的效果如下:

4.1頁面顯示當(dāng)前的圖片

4.2點(diǎn)擊圖片出現(xiàn)彈窗,以上代碼沒有加彈窗的代碼是因?yàn)槊總€(gè)人使用的UI組件庫不同,如果需要自己添加彈窗的代碼即可。

4.3可以看到裁剪區(qū)域顯示的是當(dāng)前圖片,圖像預(yù)覽區(qū)域顯示的是當(dāng)前圖片剪裁后的效果。

4.4圖片剪裁區(qū)域可以鼠標(biāo)放大縮小和拖動剪裁框,右側(cè)的圖像預(yù)覽區(qū)域會實(shí)時(shí)變化。

4.5可以點(diǎn)擊【選擇圖片】按鈕,上傳其他的圖片。最后點(diǎn)擊確定將圖片信息傳遞給后端。

到此這篇關(guān)于vue3圖片剪裁插件vue-img-cutter的文章就介紹到這了,更多相關(guān)vue圖片剪裁內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue項(xiàng)目中echarts自適應(yīng)問題的高級解決過程

    vue項(xiàng)目中echarts自適應(yīng)問題的高級解決過程

    雖然老早就看過很多echarts的例子,但自己接觸的項(xiàng)目中一直都沒有真正用到過,直到最近才開始真正使用,下面這篇文章主要給大家介紹了關(guān)于vue項(xiàng)目中echarts自適應(yīng)問題的高級解決過程,需要的朋友可以參考下
    2023-05-05
  • vue中this.$set()的基本用法實(shí)例

    vue中this.$set()的基本用法實(shí)例

    最近工作上經(jīng)常操作數(shù)組數(shù)據(jù),并且要求實(shí)時(shí)更新視圖數(shù)據(jù),這個(gè)時(shí)候首先想到的是?vue.set(),下面這篇文章主要給大家介紹了關(guān)于vue中this.$set()的基本用法實(shí)例,需要的朋友可以參考下
    2023-01-01
  • vue實(shí)現(xiàn)表單驗(yàn)證小功能

    vue實(shí)現(xiàn)表單驗(yàn)證小功能

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)表單驗(yàn)證小功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Vue3項(xiàng)目使用PWA技術(shù)進(jìn)行離線加載的詳細(xì)流程

    Vue3項(xiàng)目使用PWA技術(shù)進(jìn)行離線加載的詳細(xì)流程

    PWA是一種融合了 網(wǎng)頁(Web) 與 原生應(yīng)用(Native App) 優(yōu)點(diǎn)的技術(shù), 它讓你用網(wǎng)頁技術(shù)(HTML、CSS、JavaScript)構(gòu)建出一個(gè)能像原生應(yīng)用那樣,簡單來說,就是瀏覽器為你的網(wǎng)頁提供了離線應(yīng)用支持,所以本文給大家介紹了Vue3項(xiàng)目使用PWA技術(shù)進(jìn)行離線加載的過程
    2025-10-10
  • vue3實(shí)現(xiàn)抽獎模板設(shè)置

    vue3實(shí)現(xiàn)抽獎模板設(shè)置

    這篇文章主要為大家詳細(xì)介紹了vue3實(shí)現(xiàn)抽獎模板設(shè)置,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Ant?Design?Vue?走馬燈實(shí)現(xiàn)單頁多張圖片輪播效果

    Ant?Design?Vue?走馬燈實(shí)現(xiàn)單頁多張圖片輪播效果

    這篇文章主要介紹了Ant?Design?Vue?走馬燈實(shí)現(xiàn)單頁多張圖片輪播,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • VUE Error: getaddrinfo ENOTFOUND localhost

    VUE Error: getaddrinfo ENOTFOUND localhost

    這篇文章主要介紹了VUE Error: getaddrinfo ENOTFOUND localhost,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-05-05
  • Vue 3.0 全家桶搶先體驗(yàn)

    Vue 3.0 全家桶搶先體驗(yàn)

    這篇文章主要介紹了Vue 3.0 全家桶搶先體驗(yàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • Vuex中的Mutations的具體使用方法

    Vuex中的Mutations的具體使用方法

    這篇文章主要介紹了Vuex中的Mutations的具體使用方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • vue實(shí)現(xiàn)點(diǎn)擊按鈕“查看詳情”彈窗展示詳情列表操作

    vue實(shí)現(xiàn)點(diǎn)擊按鈕“查看詳情”彈窗展示詳情列表操作

    這篇文章主要介紹了vue實(shí)現(xiàn)點(diǎn)擊按鈕“查看詳情”彈窗展示詳情列表操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09

最新評論

汾阳市| 措勤县| 龙井市| 洪湖市| 九寨沟县| 洛隆县| 旬阳县| 永清县| 四川省| 商城县| 手游| 普宁市| 保靖县| 武平县| 泾源县| 万安县| 淄博市| 建水县| 曲周县| 西藏| 长泰县| 大宁县| 宾阳县| 青川县| 永泰县| 北碚区| 九龙坡区| 宁阳县| 清流县| 阿尔山市| 绍兴县| 光泽县| 金塔县| 新丰县| 浙江省| 陈巴尔虎旗| 颍上县| 阿坝| 达孜县| 公安县| 都匀市|