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

Vue3使用html2canvas實現(xiàn)將指定div下載為圖片

 更新時間:2025年11月17日 09:40:30   作者:朝陽39  
這篇文章主要為大家詳細介紹了Vue3如何使用html2canvas實現(xiàn)將指定div下載為圖片,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

效果預(yù)覽

安裝依賴

cnpm i html2canvas

導(dǎo)入依賴

import html2canvas from "html2canvas";

函數(shù)封裝

/**
 * 將指定div下載為圖片
 * @param targetDiv 目標(biāo)div的Dom
 * @param fileName 下載的文件名(無需后綴)
 * @param format 圖片格式:'png' 或 'jpg'
 * @param quality 圖片質(zhì)量(僅對jpg有效,0-1之間)
 */
async function downloadDivAsImage(
  targetDiv: HTMLDivElement,
  fileName: string = "流程圖",
  format: "png" | "jpg" = "png",
  quality: number = 1
) {
  // 1. 檢查目標(biāo)div是否存在
  if (!targetDiv) {
    return;
  }

  try {
    // 2. 使用html2canvas將div轉(zhuǎn)為canvas
    const canvas = await html2canvas(targetDiv, {
      useCORS: true, // 允許跨域圖片(如果div內(nèi)有外部圖片)
      logging: false, // 關(guān)閉日志
      scale: window.devicePixelRatio, // 按設(shè)備像素比縮放,避免模糊
      backgroundColor: null, // 背景透明(如需白色背景可設(shè)為'#ffffff')
    });

    // 3. 將canvas轉(zhuǎn)為圖片URL
    const imageUrl = canvas.toDataURL(`image/${format}`, quality);

    // 4. 觸發(fā)下載
    const link = document.createElement("a");
    link.href = imageUrl;
    link.download = `${fileName}.${format}`;
    document.body.appendChild(link);
    link.click();
    document.body.removeChild(link);
    URL.revokeObjectURL(imageUrl); // 釋放資源
  } catch (error) {
    console.error("下載失?。?, error);
  }
}

頁面使用

          <Icon
            icon="tabler:download"
            @click="downloadDivAsImage(svgBoxRef!)"
            title="下載"
          />
      <!-- 用于渲染流程圖的容器 -->
      <div ref="svgBoxRef" v-show="svg" class="svgBox" v-html="svg"></div>
const svgBoxRef = ref<HTMLDivElement | null>(null);

到此這篇關(guān)于Vue3使用html2canvas實現(xiàn)將指定div下載為圖片的文章就介紹到這了,更多相關(guān)Vue3 html2canvas指定div下載為圖片內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 深入理解Vuex 模塊化(module)

    深入理解Vuex 模塊化(module)

    本篇文章主要介紹了Vuex 模塊化(module),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • Vue中使用裝飾器的方法詳解

    Vue中使用裝飾器的方法詳解

    裝飾器是一種與類相關(guān)的語法糖,用來包裝或者修改類或者類的方法的行為,其實裝飾器就是設(shè)計模式中裝飾者模式的一種實現(xiàn)方式,下面這篇文章主要給大家介紹了關(guān)于Vue中使用裝飾器的相關(guān)資料,需要的朋友可以參考下
    2022-01-01
  • Vue實現(xiàn)剪切板圖片壓縮功能

    Vue實現(xiàn)剪切板圖片壓縮功能

    這篇文章主要介紹了Vue實現(xiàn)剪切板圖片壓縮功能,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • Vue2學(xué)習(xí)筆記之請求數(shù)據(jù)交互vue-resource

    Vue2學(xué)習(xí)筆記之請求數(shù)據(jù)交互vue-resource

    本篇文章主要介紹了Vue2學(xué)習(xí)筆記之?dāng)?shù)據(jù)交互vue-resource ,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • vue?+?qiankun?項目搭建過程

    vue?+?qiankun?項目搭建過程

    這篇文章主要介紹了vue?+?qiankun?項目搭建,首先是通過cli3構(gòu)建vue2項目,通過qiankun改造主應(yīng)用,本文結(jié)合實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • Vue使用element-ui實現(xiàn)菜單導(dǎo)航

    Vue使用element-ui實現(xiàn)菜單導(dǎo)航

    這篇文章主要為大家詳細介紹了Vue使用element-ui實現(xiàn)菜單導(dǎo)航,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Vue2前端生成二維碼并實現(xiàn)掃碼跳轉(zhuǎn)完整教程

    Vue2前端生成二維碼并實現(xiàn)掃碼跳轉(zhuǎn)完整教程

    在現(xiàn)代Web應(yīng)用開發(fā)中,二維碼掃描已成為連接物理世界與數(shù)字世界的核心橋梁,這篇文章主要介紹了Vue2前端生成二維碼并實現(xiàn)掃碼跳轉(zhuǎn)的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2026-04-04
  • 解析vue.js中常用v-指令

    解析vue.js中常用v-指令

    本文以click為例給大家介紹vue.js中常用v-指令,可以用 v-on 指令監(jiān)聽 DOM 事件,并在觸發(fā)時運行一些 JavaScript代碼,本文通過示例代碼給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2021-10-10
  • vue自定義權(quán)限標(biāo)簽詳細代碼示例

    vue自定義權(quán)限標(biāo)簽詳細代碼示例

    這篇文章主要給大家介紹了關(guān)于vue自定義權(quán)限標(biāo)簽的相關(guān)資料,在Vue中你可以通過創(chuàng)建自定義組件來實現(xiàn)自定義標(biāo)簽組件,文中給出了詳細的代碼示例,需要的朋友可以參考下
    2023-09-09
  • 在vue-cli 3中給stylus、sass樣式傳入共享的全局變量

    在vue-cli 3中給stylus、sass樣式傳入共享的全局變量

    這篇文章主要介紹了在vue-cli 3中, 給stylus、sass樣式傳入共享的全局變量,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-08-08

最新評論

建德市| 通州市| 岳池县| 准格尔旗| 江北区| 石狮市| 岳阳县| 大名县| 肇东市| 兴隆县| 古田县| 郓城县| 商城县| 北海市| 宜丰县| 定安县| 溆浦县| 东安县| 浦县| 珲春市| 英超| 鄂托克旗| 探索| 丹阳市| 淳安县| 兴安县| 广饶县| 开阳县| 宜章县| 哈尔滨市| 澄迈县| 顺义区| 柳江县| 东阳市| 恩施市| 玉屏| 毕节市| 嘉善县| 蕲春县| 东乡族自治县| 班戈县|