序文:Vueプロジェクトで透かし効果を使用するには、コンテナを指定できます 効果画像:1. コンテナを指定しない 2. コンテナを指定する 実施方法:1. 新しい設定ファイルwatermark.jsを作成します。これはutilか他の場所に配置できます。 ウォーターマークを {} にします setWatermark = (テキスト、ソースボディ) => { id = Math.random()*10000+'-'+Math.random()*10000+'/'+Math.random()*10000 とします。 document.getElementById(id) が null の場合: document.body.removeChild(document.getElementById(id)) } can = document.createElement('canvas') とします。 幅 = 150 高さ = 120 cans = can.getContext('2d') とします。 缶を回転します(-20 * Math.PI / 180) cans.font = '15px ヴェダナ' cans.fillStyle = 'rgba(0, 0, 0, .5)' cans.textAlign = '左' cans.textBaseline = '中央' cans.fillText(テキスト、can.width / 20、can.height) water_div = document.createElement('div') とします。 water_div.id = id water_div.style.pointerEvents = 'なし' water_div.style.background = 'url(' + can.toDataURL('image/png') + ') 左上繰り返し' if(ソースボディ){ water_div.style.width = '100%' water_div.style.height = '100%' ソースボディ.appendChild(water_div) }それ以外{ water_div.style.top = '3px' water_div.style.left = '0px' water_div.style.position = '固定' water_div.style.zIndex = '100000' water_div.style.width = document.documentElement.clientWidth + 'px' water_div.style.height = document.documentElement.clientHeight + 'px' document.body.appendChild(water_div) } 戻りID } /** * このメソッドは一度だけ呼び出すことができます * @param: * @text == 透かしの内容 * @sourceBody == 透かしが追加される場所。渡されない場合は、本文になります * */ watermark.set = (テキスト、ソースボディ) => { id = setWatermark(テキスト、ソースボディ) 間隔を設定する(() => { document.getElementById(id) が null の場合 { id = setWatermark(テキスト、ソースボディ) } }, 2000) ウィンドウのサイズ変更 = () => { ウォーターマークを設定する(テキスト、ソースボディ) } } デフォルトの透かしをエクスポート 2. main.js のグローバル設定 // Watermarkimport ウォーターマークを './utils/watermark.js' からインポートします Vue.prototype.$watermark = 透かし 3. ページに全画面透かしを使用する this.$watermark.set("Haoxing 2731") 4. ページ内で指定されたコンテナを使用する <el-button @click="addWatermark">クリックして透かしを追加</el-button> <div ref="content" style="幅: 500px;高さ: 500px;境界線: 1px solid #ccc;"> ウォーターマークを追加します(){ this.$watermark.set("Haoxing 2731",this.$refs.content) } 5. フォント間の距離が大きすぎると思われる場合は、このプロパティを変更してください。 幅 = 150 高さ = 120 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: MySQL データベースの基礎: 基本コマンドの概要
>>: MySQLデータベース入門:マルチインスタンス構成方法の詳しい説明
私はかつて、ウェブサイトを一度も構築したことのない人々が、初心者向けのウェブサイト構築方法に関する私...
この記事では、MySQL 5.6.37のダウンロード、インストール、設定のチュートリアルを参考までに...
1 はじめに優れたコーディング習慣は優れたプログラマーが備えるべき資質ですが、コードの品質を保証する...
この記事では、参考までにMySQL zipファイルをインストールする具体的な方法を紹介します。具体的...
EXPLAIN ステートメントは、MySQL がステートメントを実行する方法に関する情報を提供します...
vueプロジェクトをパッケージ化してサーバーにデプロイし、正常にログインできるが、ローカルで起動する...
1. CSS の概念: (カスケーディング スタイル シート)利点: 1. コンテンツとプレゼンテ...
パッシブチェックパッシブ ヘルス チェックでは、NGINX と NGINX Plus はイベントの発...
成果を達成する実装コードhtml <div クラス = 'ラッパー'> ...
1. 要素時間選択提出フォーマット変換例えば 2018年9月7日金曜日 00:00:00 GMT+0...
サーバーの負荷を軽減するために、ユーザーが入力するときにフロントエンドページで簡単な検証を実行する必...
純粋な CSS3 で実装された美しい入力ボックス アニメーション スタイル ライブラリを共有します ...
1. CSSをアルファベット順に並べるアルファベット順ではありません:コードをコピーコードは次のとお...
1. セットアップを始める次のコード関数を簡単に紹介します。 ref 関数を使用して変数の変更を監視...
1. Packetdrillのコンパイルとインストールソースコードリンク https://githu...