Vue implementiert das Hinzufügen eines Wasserzeicheneffekts zur Seite

Vue implementiert das Hinzufügen eines Wasserzeicheneffekts zur Seite

Als ich kürzlich an einem Projekt arbeitete, wurde ich gebeten, der Seite einen Wasserzeicheneffekt hinzuzufügen. Ohne weitere Umschweife hier der Code:

Exportfunktion Wasserzeichen (Einstellungen) {
  Debugger;
  //Standardeinstellungen var defaultSettings = {
      watermark_txt:"Text",
      watermark_x:20, // Startposition des Wasserzeichens (X-Achsen-Koordinate) watermark_y:20, // Startposition des Wasserzeichens (Y-Achsen-Koordinate) watermark_rows:5, // Zeilen des Wasserzeichens watermark_cols:10, // Spalten des Wasserzeichens watermark_x_space:100, // Intervall des Wasserzeichens (X-Achsen-Koordinate) watermark_y_space:100, // Intervall des Wasserzeichens (Y-Achsen-Koordinate) watermark_color:'#aaa', // Schriftfarbe des Wasserzeichens watermark_alpha:0.4, // Transparenz des Wasserzeichens watermark_fontsize:'15px', // Schriftgröße des Wasserzeichens watermark_font:'Microsoft YaHei', // Schriftart des Wasserzeichens watermark_width:210, // Breite des Wasserzeichens watermark_height:80, // Länge des Wasserzeichens watermark_angle:15 // Neigungsgrad des Wasserzeichens };
  //Verwenden Sie Konfigurationselemente, um Standardwerte zu ersetzen, ähnlich wie jquery.extend
  wenn (Argumente.Länge===1&&Argumenttyp[0] ==="Objekt" )
  {
      var src=Argumente[0]||{};
      für (var keyS in src)
      {
          wenn (src[SchlüsselS]&&Standardeinstellungen[SchlüsselS]&&src[SchlüsselS]===Standardeinstellungen[SchlüsselS])
              weitermachen;
          sonst wenn(Quelle[SchlüsselS])
              Standardeinstellungen[SchlüsselS]=Quelle[SchlüsselS];
      }
  }

  var oTemp = document.createDocumentFragment();

  //Maximale Breite der Seite abrufen var page_width = Math.max(document.body.scrollWidth,document.body.clientWidth);
  var Schnittbreite = Seitenbreite*0,0150;
  var Seitenbreite = Seitenbreite-Schnittbreite;
  //Maximale Höhe der Seite abrufen var page_height = Math.max(document.body.scrollHeight,document.body.clientHeight)+650;
  //var Seitenhöhe = document.body.scrollHeight+document.body.scrollTop;
  //Wenn die Anzahl der Wasserzeichenspalten auf 0 gesetzt ist oder die Anzahl der Wasserzeichenspalten zu groß eingestellt ist und die maximale Seitenbreite überschreitet, berechnen Sie die Anzahl der Wasserzeichenspalten und das Wasserzeichen-X-Achsenintervall neu, wenn (defaultSettings.watermark_cols == 0 || (parseInt(defaultSettings.watermark_x + defaultSettings.watermark_width *defaultSettings.watermark_cols + defaultSettings.watermark_x_space * (defaultSettings.watermark_cols - 1)) > page_width)) {
      defaultSettings.watermark_cols = parseInt((Seitenbreite - defaultSettings.watermark_x + defaultSettings.watermark_x_space) / (defaultSettings.watermark_width + defaultSettings.watermark_x_space) - 1);
      defaultSettings.watermark_x_space = parseInt((Seitenbreite - defaultSettings.watermark_x - defaultSettings.watermark_width * defaultSettings.watermark_cols) / (defaultSettings.watermark_cols - 1) - 10);
  }
  //Wenn die Anzahl der Wasserzeichenzeilen auf 0 gesetzt ist oder die Anzahl der Wasserzeichenzeilen zu groß eingestellt ist und die maximale Seitenlänge überschreitet, berechnen Sie die Anzahl der Wasserzeichenzeilen und das Wasserzeichen-Y-Achsenintervall neu, wenn (defaultSettings.watermark_rows == 0 || (parseInt(defaultSettings.watermark_y + defaultSettings.watermark_height * defaultSettings.watermark_rows + defaultSettings.watermark_y_space * (defaultSettings.watermark_rows - 1)) > page_height)) {
      defaultSettings.watermark_rows = parseInt((defaultSettings.watermark_y_space + page_height - defaultSettings.watermark_y) / (defaultSettings.watermark_height + defaultSettings.watermark_y_space));
      defaultSettings.watermark_y_space = parseInt(((Seitenhöhe - defaultSettings.watermark_y) - defaultSettings.watermark_height * defaultSettings.watermark_rows) / (defaultSettings.watermark_rows - 1));
  }
  var x;
  var y;
  für (var i = 0; i < defaultSettings.watermark_rows; i++) {
      y = Standardeinstellungen.Wasserzeichen_y + (Standardeinstellungen.Wasserzeichen_y_Raum + Standardeinstellungen.Wasserzeichen_Höhe) * i;
      für (var j = 0; j < defaultSettings.watermark_cols; j++) {
          x = Standardeinstellungen.Wasserzeichen_x + (Standardeinstellungen.Wasserzeichen_Breite + Standardeinstellungen.Wasserzeichen_x_Abstand) * j;

          var mask_div = document.createElement('div');
          mask_div.id = "mask_div" + i + j;
          mask_div.Klassenname = "mask_div";
          mask_div.appendChild(document.createTextNode(defaultSettings.watermark_txt));
          //Stellen Sie das Wasserzeichen-Div so ein, dass es geneigt angezeigt wird. mask_div.style.webkitTransform = "rotate(-" + defaultSettings.watermark_angle + "deg)";
          mask_div.style.MozTransform = "drehen(-" + defaultSettings.watermark_angle + "Grad)";
          mask_div.style.msTransform = "drehen(-" + defaultSettings.watermark_angle + "Grad)";
          mask_div.style.OTransform = "drehen(-" + defaultSettings.watermark_angle + "Grad)";
          mask_div.style.transform = "drehen(-" + defaultSettings.watermark_angle + "Grad)";
          mask_div.style.Sichtbarkeit = "";
          mask_div.style.position = "absolut";
          mask_div.style.left = x + "px";
          mask_div.style.top = y + "px";
          mask_div.style.overflow = "versteckt";
          mask_div.style.zIndex = "9999";
          mask_div.style.pointerEvents='none';//pointer-events:none sorgt dafür, dass das Wasserzeichen das Klickereignis der Seite nicht blockiert//mask_div.style.border="solid #eee 1px";
          mask_div.style.opacity = Standardeinstellungen.watermark_alpha;
          mask_div.style.fontSize = Standardeinstellungen.watermark_fontsize;
          mask_div.style.fontFamily = Standardeinstellungen.watermark_font;
          mask_div.style.color = Standardeinstellungen.Wasserzeichenfarbe;
          mask_div.style.textAlign = "zentriert";
          mask_div.style.width = Standardeinstellungen.Wasserzeichenbreite + 'px';
          mask_div.style.height = Standardeinstellungen.watermark_height + 'px';
          mask_div.style.display = "Block";
          oTemp.appendChild(mask_div);
      };
  };
  Dokument.body.appendChild(oTemp);
}

Schreiben Sie diesen Code in main.js und initialisieren Sie diese Methode dann in App, vue

erstellt() {
    let userId = getCookie("Benutzer-ID")
    Wasserzeichen({watermark_txt:userId+" "+timeFormate(new Date())})
  }

Übergeben Sie die Parameter, die Sie an diese Methode übergeben möchten

Der endgültige Effekt ist

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Vue implementiert das Hinzufügen von Wasserzeichen zu hochgeladenen Bildern
  • So verwenden Sie Bilder und Bildwasserzeichen mit versteckten Textinformationen in Vue
  • Vue integriert PDF.js, um eine PDF-Vorschau zu implementieren und Schritte zum Hinzufügen von Wasserzeichen durchzuführen
  • Vue implementiert die Seitenwasserzeichenfunktion
  • Drei Möglichkeiten zum Hochladen von Bildern mit Vue
  • Der Uploader von Vue+Vant auf dem mobilen Endgerät realisiert die Funktionen des Hochladens, Komprimierens und Drehens von Bildern
  • Vue+elementUI implementiert ein Beispiel für eine Formular- und Bild-Upload- und Überprüfungsfunktion
  • vue + elementUI realisiert die Bild-Upload-Funktion
  • Basierend auf VUE Bilder auswählen, hochladen und auf der Seite anzeigen (Bilder können gelöscht werden)
  • Vue ermöglicht das Hinzufügen von Wasserzeichen zu hochgeladenen Bildern (aktualisierte Version)

<<:  Zusammenfassung gängiger Befehle für den Einstieg in die MySQL-Datenbankgrundlagen

>>:  mysql 8.0.20 winx64.zip komprimierte Version Installations- und Konfigurationsmethode grafisches Tutorial

Artikel empfehlen

Beispiele für die MySQL-Verschlüsselung und -Entschlüsselung

Beispiele für die MySQL-Verschlüsselung und -Ents...

Vue implementiert ein einfaches Einkaufswagenbeispiel

In diesem Artikelbeispiel wird der spezifische Co...

Tiefgreifendes Verständnis der Matching-Logik von Server und Standort in Nginx

Server-Abgleichlogik Wenn Nginx entscheidet, in w...

Installations-Tutorial für die ZIP-Archivversion von MySQL 5.7

In diesem Artikel finden Sie das Installations-Tu...

So legen Sie eine horizontale Navigationsstruktur in HTML fest

In diesem Artikel werden Ihnen zwei Methoden zum ...

Umfassendes Verständnis der Node-Ereignisschleife

Inhaltsverzeichnis Knoten-Ereignisschleife Ereign...

HTML + CSS + JS realisiert den Scroll-Gradienteneffekt der Navigationsleiste

Inhaltsverzeichnis Erster Blick auf die Wirkung: ...

Eine kurze Erläuterung des Navigationsfensters in Iframe-Webseiten

Eine kurze Erläuterung des Navigationsfensters in...

So ermitteln Sie die Ausführungszeit eines Befehls oder Prozesses in Linux

Auf Unix-ähnlichen Systemen wissen Sie möglicherw...

So installieren Sie ElasticSearch auf Docker in einem Artikel

Inhaltsverzeichnis Vorwort 1. Docker installieren...

Detailliertes Tutorial zur Installation von Protobuf 3 unter Ubuntu

Wann ist die Installation durchzuführen? Wenn Sie...