vue實(shí)現(xiàn)在頁(yè)面上添加水印的示例代碼
第一步:在自己的項(xiàng)目里創(chuàng)建一個(gè)js文件;如圖所示我在在watermark文件中創(chuàng)建了一個(gè)名為waterMark.js文件。
waterMark.js
/** 水印添加方法 */ let setWatermark = (str1, str2) => { let id = '1.23452384164.123412415' if (document.getElementById(id) !== null) { document.body.removeChild(document.getElementById(id)) } let can = document.createElement('canvas') // 設(shè)置canvas畫布大小 can.width = 800 can.height = 250 let cans = can.getContext('2d') cans.rotate(-10 * Math.PI / 180) // 水印旋轉(zhuǎn)角度 cans.font = '26px Vedana' cans.fillStyle = '#333333' cans.textAlign = 'center' cans.textBaseline = 'Middle' cans.fillText(str1, can.width / 2, can.height) // 水印在畫布的位置x,y軸 cans.fillText(str2, can.width / 2, can.height + 30) let div = document.createElement('div') div.id = id div.style.pointerEvents = 'none' div.style.top = '140px' div.style.left = '0px' div.style.opacity = '0.3' div.style.position = 'fixed' div.style.zIndex = '100000' div.style.width = document.documentElement.clientWidth + 'px' div.style.height = document.documentElement.clientHeight + 'px' div.style.background = 'url(' + can.toDataURL('image/png') + ') left top repeat' document.body.appendChild(div) return id } // 添加水印方法 export const setWaterMark = (str1, str2) => { let id = setWatermark(str1, str2) if (document.getElementById(id) === null) { id = setWatermark(str1, str2) } } // 移除水印方法 export const removeWatermark = () => { let id = '1.23452384164.123412415' if (document.getElementById(id) !== null) { document.body.removeChild(document.getElementById(id)) } }
第二步:在要添加水印的頁(yè)面導(dǎo)入
import { removeWatermark, setWaterMark } from "@/../../waterMark"; //根據(jù)自己文件路徑修改
第三步:在mounted參數(shù)協(xié)商這幾行代碼
mounted() { //設(shè)置水印內(nèi)容,這段代碼實(shí)現(xiàn)的是兩行文本內(nèi)容的水印。 let str1 = "我是水印"; let str2 = sessionStorage.getItem(key1) setWaterMark(str1, str2); }, destroyed() { removeWatermark(); } , //sessionStorage.getItem(key1)可以獲取當(dāng)前登陸用戶的信息,自己根據(jù)需要進(jìn)行修改即可。
按照這三部就可以實(shí)現(xiàn)。
到此這篇關(guān)于vue實(shí)現(xiàn)在頁(yè)面上添加水印的示例代碼的文章就介紹到這了,更多相關(guān)vue頁(yè)面添加水印內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue3中無(wú)法為el-tree-select設(shè)置反選問(wèn)題解析
這篇文章主要介紹了Vue3中無(wú)法為el-tree-select設(shè)置反選問(wèn)題分析,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-04-04VUE使用canvas繪制管線管廊實(shí)現(xiàn)思路
這篇文章主要為大家介紹了VUE使用canvas繪制管線管廊實(shí)現(xiàn)思路詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04Vue中使用vue-plugin-hiprint插件進(jìn)行打印的功能實(shí)現(xiàn)
hiprint 是一個(gè)web 打印的js組件,無(wú)需安裝軟件,支持windows,macOS,linux 系統(tǒng),支持移動(dòng)端,PC端瀏覽器,angular,vue,react 等 分頁(yè)預(yù)覽,打印,操作簡(jiǎn)單,運(yùn)行快速,本文介紹了Vue中使用vue-plugin-hiprint插件進(jìn)行打印,需要的朋友可以參考下2025-04-04elementUI表格多選框this.$refs.xxx.toggleRowSelection無(wú)效問(wèn)題
這篇文章主要介紹了elementUI表格多選框this.$refs.xxx.toggleRowSelection無(wú)效問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11elementUI組件中el-date-picker限制時(shí)間范圍精確到小時(shí)的方法
現(xiàn)在需要做一個(gè)時(shí)間選擇器,可以根據(jù)小時(shí)(同時(shí)選天和小時(shí))和天?和月,節(jié)假日等類型控制日歷的選擇樣式,下面這篇文章主要給大家介紹了關(guān)于elementUI組件中el-date-picker限制時(shí)間范圍精確到小時(shí)的相關(guān)資料,需要的朋友可以參考下2023-04-04完美解決vue 項(xiàng)目開發(fā)越久 node_modules包越大的問(wèn)題
這篇文章主要介紹了vue 項(xiàng)目開發(fā)越久 node_modules包越大的問(wèn)題及解決方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-09-09基于Vant UI框架實(shí)現(xiàn)時(shí)間段選擇器
這篇文章主要為大家詳細(xì)介紹了基于Vant UI框架實(shí)現(xiàn)時(shí)間段選擇器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-12-12淺談nuxtjs校驗(yàn)登錄中間件和混入(mixin)
這篇文章主要介紹了淺談nuxtjs校驗(yàn)登錄中間件和混入(mixin),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-11-11