一個便捷的web截圖庫~【送源碼】

隨著時間的發展,前端開發的范圍越來越廣,能夠實現的功能也越來越多,要實現的功能也五花八門,今天就給大家介紹一個web截圖庫,讓前端也能實現截圖功能——?js-web-screen-shot

圖片

js-web-screen-shot

js-web-screen-shot?是一個基于 JavaScript 的網頁截圖工具,允許開發者在瀏覽器中直接對網頁進行截圖。這個工具可以在純前端環境中運行,不需要服務器端的支持,非常適合用于前端開發和調試

目前有兩個版本,一個是純js版本,一個是vue3版本

特點

  • 純前端實現:無需后端服務,完全在瀏覽器中運行。

  • 多種格式支持:可以將截圖保存為 PNG、JPEG 等格式。

  • 自定義截圖區域:支持對整個頁面、指定元素或特定區域進行截圖。

  • 跨瀏覽器兼容:支持主流瀏覽器(如 Chrome、Firefox、Edge 等)。

  • 簡單易用:通過簡單的 API 調用即可完成截圖操作。

安裝使用

js版本

安裝

npm?install?js-web-screen-shot
使用
import?ScreenShot??from?"js-web-screen-shot";
const?imgSrc?=?ref("")
const?begainScreen?=?()?=>?{console.log("開始截屏")new?ScreenShot?({enableWebRtc:?false,??level:?9999,??//層級級別completeCallback:?callback});
}
const?callback?=?(base64data:any)=>{console.log(base64data);imgSrc.value?=?base64data.base64
}
vue3使用

安裝

npm?install?vue-web-screen-shot?--save

在項目的入口文件main.ts/main.js引入插件

//?導入截屏插件
import?screenShort?from?"vue-web-screen-shot";
const?app?=?createApp(App);
//?使用截屏插件
app.use(screenShort,?{?enableWebRtc:?false?})

在組件中使用

<template><!--截圖組件--><screen-short?v-if="screenshotStatus"@destroy-component="destroyComponent"@get-image-data="getImg"></screen-short>
</template><script?lang="ts">export?default?defineComponent({setup(props,?context)?{const?screenshotStatus?=?ref<boolean>(false);//?銷毀組件函數const?destroyComponent?=?function(status:?boolean)?{screenshotStatus.value?=?status;}//?獲取裁剪區域圖片信息const?getImg?=?function(base64:?string)?{console.log("截圖組件傳遞的圖片信息",?base64);}return?{screenshotStatus,destroyComponent,getImg}}
})
</script>

js-web-screen-shot里有很高的自由度,可以通過配置參數來決定是否顯示某個功能icon,并且監聽回調函數

同時插件還監聽了三個快捷鍵:

  • Esc,按下鍵盤上的esc鍵時,等同于點了工具欄的關閉圖標。

  • Enter,按下鍵盤上的enter鍵時,等同于點了截圖工具欄的確認圖標。

  • Ctrl/Command + z,按下這兩個組合鍵時,等同于點了截圖工具欄的撤銷圖標。

js-web-screen-shot?提供了兩種截圖模式:webrtc 和 html2canvas,如果不開啟 enableWebRtc那么就會使用html2canvas 截圖模式,更多的使用方式大家可以觀看文檔~

https://gitee.com/likai119/js-screen-shot

??——EOF——

福利:

掃碼回復【酒店】可免費領取酒店管理系統源碼

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/45140.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/45140.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/45140.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

嵌入式板級支持包(BSP)80道面試題及參考答案(3萬字長文)

目錄 解釋什么是通用輸入輸出(GPIO)接口及其在BSP中的作用。 描述SPI接口的主要特點和用途。 說明IC總線協議的工作原理。 如何在BSP中配置一個UART接口? USB設備控制器在BSP中的初始化步驟是什么? 以太網接口如何在BSP中被支持? 什么是SDIO,它在哪些場景下會被使…

語言模型演進:從NLP到LLM的跨越之旅

在人工智能的浩瀚宇宙中&#xff0c;自然語言處理&#xff08;NLP&#xff09;一直是一個充滿挑戰和機遇的領域。隨著技術的發展&#xff0c;我們見證了從傳統規則到統計機器學習&#xff0c;再到深度學習和預訓練模型的演進。如今&#xff0c;我們站在了大型語言模型&#xff…

【接口設計】如何設計統一 RESTful 風格的數據接口

如何設計統一 RESTful 風格的數據接口 1.版本控制1.1 通過 URL1.2 通過自定義請求頭1.3 通過 Accept 標頭 2.過濾信息3.確定 HTTP 的方法4.確定 HTTP 的返回狀態5.定義統一返回的格式 近年來&#xff0c;隨著移動互聯網的發展&#xff0c;各種類型的客戶端層出不窮。如果不統一…

Mybatis-Plus最優化持久層開發

Mybatis-plus&#xff1a;最優化持久層開發 一&#xff1a;Mybatis-plus快速入門&#xff1a; 1.1&#xff1a;簡介&#xff1a; Mybatis-plus&#xff08;簡稱MP&#xff09;是一個Mybatis的增強工具&#xff0c;在mybatis的基礎上只做增強不做改變; 提高效率&#xff1b;自…

國漫推薦11

1.《元龍》 2.《惡魔法則》2023年9月29日 3.《三十六騎》 4.《山河劍心》 5.劍網3俠肝義膽沈劍心 《劍網3俠肝義膽沈劍心》 《劍網3俠肝義膽沈劍心 第二季》 《劍網3俠肝義膽沈劍心之長漂》&#xff08;番外&#xff09; 《劍網3俠肝義膽沈劍心 第三季》 6.《仙逆》東方玄幻…

Uniswap V2和Uniswap V3的區別

Uniswap V2和Uniswap V3是兩個不同版本的去中心化交易協議&#xff0c;由Uniswap團隊開發和維護。它們之間的主要區別包括以下幾點&#xff1a; 資金池模型不同: Uniswap V2: 使用恒定乘積市場模型&#xff0c;也就是 x * y k。這意味著每個資金池中的資產的乘積保持不變&…

Transformer的模型的擴展與應用領域的拓展 - Transformer教程

在如今的人工智能領域&#xff0c;Transformer模型已經成為了眾多研究和應用的焦點。從自然語言處理到計算機視覺&#xff0c;Transformer模型的擴展與應用領域的拓展帶來了無數的可能性。今天&#xff0c;我們就來聊聊Transformer模型的擴展以及它在不同領域的廣泛應用。 首先…

生產管理系統功能全拆解:哪些功能是企業真正需要的?

制造業的伙伴經常聽到“生產管理”&#xff0c;但很多人可能只是模糊地知道它與工廠、生產線有關。那么&#xff0c;到底什么是生產管理呢&#xff1f;它的重要性又體現在哪里呢&#xff1f;接下來&#xff0c;我就以輕松的方式&#xff0c;帶大家走進生產管理的世界&#xff0…

函數練習·二 基礎題

# 【以下功能都使用函數封裝】 # 提示: 涉及到要返回的題目,請使用return # 基礎題 # 1.封裝函數&#xff0c;計算從1到某個數以內所有奇數的和并返回 def fn1(n): return sum([i for i in range(1, n, 2)]) print(fn1(7)) # 2.封裝函數&#xff0c;判斷某個數是否是偶…

微信閃退怎么回事?實用技巧助你輕松應對

在使用微信的過程中&#xff0c;偶爾會遇到閃退的問題&#xff0c;這不僅影響我們的日常溝通&#xff0c;還可能導致重要信息的丟失。那么&#xff0c;微信閃退怎么回事呢&#xff1f;閃退的原因可能有很多&#xff0c;包括軟件問題、手機存儲不足、系統不兼容等。本文將詳細分…

筆記本電腦數據丟失如何恢復?

在計算機網絡日益普及的今天&#xff0c;計算機已波及到人們的生活、工作、學習及消費等廣泛領域&#xff0c;其服務和管理也涉及政府、工商、金融及用戶等諸多方面。筆記本電腦等電子產品被各行各業的人所喜愛和接受&#xff0c;早已成為人們出差的必備品&#xff0c;可以用來…

keepalived高可用集群

一、keepalived&#xff1a; 1.keepalive是lvs集群中的高可用架構&#xff0c;只是針對調度器的高可用&#xff0c;基于vrrp來實現調度器的主和備&#xff0c;也就是高可用的HA架構&#xff1b;設置一臺主調度器和一臺備調度器&#xff0c;在主調度器正常工作的時候&#xff0…

OS_同步與互斥

2024-07-04&#xff1a;操作系統同步與互斥學習筆記 第9節 同步與互斥 9.1 同步互斥的基本概念9.1.1 同步關系9.1.2 互斥關系9.1.3 臨界資源9.1.4 臨界區9.1.5 同步機制應遵循規則 9.2 軟件同步機制9.2.1 單標志法9.2.2 雙標志先檢查法9.2.3 雙標志后檢查法9.2.4 peterson算法 …

BP神經網絡與反向傳播算法在深度學習中的應用

BP神經網絡與反向傳播算法在深度學習中的應用 在神經網絡的發展歷史中&#xff0c;BP神經網絡&#xff08;Backpropagation Neural Network&#xff09;占有重要地位。BP神經網絡通過反向傳播算法進行訓練&#xff0c;這種算法在神經網絡中引入了一種高效的學習方式。隨著深度…

jstat命令介紹

jstat&#xff1a;查看JVM統計信息 一 基本情況二 基本語法2.1 option參數1. 類裝載相關的&#xff1a;2. 垃圾回收相關的-gc&#xff1a;顯示與GC相關的堆信息。包括Eden區、兩個Survivor區、老年代、永久代等的容量、已用空間、GC時間合計等信息。-gccapacity&#xff1a;顯示…

【C++】C++-機房收費管理系統(源碼+注釋)【獨一無二】

&#x1f449;博__主&#x1f448;&#xff1a;米碼收割機 &#x1f449;技__能&#x1f448;&#xff1a;C/Python語言 &#x1f449;公眾號&#x1f448;&#xff1a;測試開發自動化【獲取源碼商業合作】 &#x1f449;榮__譽&#x1f448;&#xff1a;阿里云博客專家博主、5…

LeetCode之最長回文子串

1.題目鏈接 5. 最長回文子串 - 力扣&#xff08;LeetCode&#xff09;https://leetcode.cn/problems/longest-palindromic-substring/description/ 2.題目解析 對于這道題目我們可以使用動態規劃的思路來求解&#xff0c;具體思路是&#xff0c;對于一個長度大于2的子串&…

生成式信息檢索(問答系統與信息檢索的進步)

文章目錄 什么是問答系統&#xff08;Question Answering Systems&#xff09;檢索系統的演變經典檢索系統“Term” 文檔搜素的最小單位倒排索引詞嵌入的出現預訓練語言模型 用于問答的語言模型設計方案選擇&#xff1a;封閉式與開放式問答系統對比方案A&#xff1a;封閉式生成…

【干貨】一文帶你看懂什么是渠道分銷?如何管理渠道分銷

在當今競爭激烈的市場環境中&#xff0c;企業想要擴大市場份額、提高產品或服務的可見度&#xff0c;有效的渠道分銷策略是關鍵。 什么是渠道分銷&#xff1f; 渠道分銷&#xff0c;簡而言之&#xff0c;是指企業利用中間商&#xff08;如經銷商、代理商、零售商等&#xff0…

springboot解壓文件流zip壓縮包

springboot解壓文件流zip壓縮包 原始文件存儲的地方&#xff1a; 需要在當前目錄下解壓該文件&#xff0c;如下圖&#xff1a; 代碼示例&#xff1a; private Result<String> getLocationGuideLayerName(YbYstbtqTaskResolveParam params, String fishnetLayerName)…