In diesem Artikel wird der spezifische Code zur Verwendung von jQuery Canvas zum Generieren eines Posters mit einem QR-Code zu Ihrer Information bereitgestellt. Der spezifische Inhalt ist wie folgt Voraussetzung: Klicken Sie auf das Bild-Popup-Fenster, um ein Poster mit QR-Code zu generieren. Zugehörige Probleme: 1. Die generierten Bilder werden verschwommen und unklar sein. Importieren Sie die erforderlichen Dateien //jquery.js <script type="text/javascript" src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script> //Lösen Sie das Problem unscharfer und unklarer generierter Bilder<script src="/images/202010/hidpi-canvas.min.js"></script> Posterbild generieren <Skript> // Code ausführen$(function () { // Pixeldichte Ohne diesen Code kann das generierte Bild unscharf sein function getPixelRatio(context) { var backingStore = Kontext.backingStorePixelRatio || Kontext.webkitBackingStorePixelRatio || Kontext.mozBackingStorePixelRatio || Kontext.msBackingStorePixelRatio || Kontext.oBackingStorePixelRatio || Kontext.backingStorePixelRatio || 1; Rückgabewert (window.devicePixelRatio || 1) / backingStore; }; //Klick-Ereignis $(".myImg").click(function () { $(".dialog").fadeIn(); var dialogSrc = $(this).attr("src") var csrfToken = document.querySelector('meta[name="csrf-token"]').getAttribute('Inhalt'); //2. Senden Sie eine Anfrage$.ajax({ URL: "xxxx", Typ: "Beitrag", Datentyp: "json", Überschriften: { 'X-CSRF-TOKEN': csrfToken }, //Anforderungsheader erfolgreich festlegen: Funktion (res) { var Leinwand = Dokument.createElement("Leinwand"); var Kontext = Canvas.getContext("2d"); var Verhältnis = getPixelRatio(Kontext) Leinwandbreite = 262 * Verhältnis; Leinwandhöhe = 450 * Verhältnis; Kontext.Rechteck(0, 0, Leinwandbreite * Verhältnis, Leinwandhöhe * Verhältnis); Kontext.Füllstil = "#fff"; Kontext.Füllen(); var meinBild2 = neues Bild(); //Hintergrundbild myImage2.src = dialogSrc //Terminal abrufen var u = navigator.userAgent; var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //Android-Terminal var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //iOS-Terminal myImage2.onload = function () { context.drawImage(myImage2, 0, 0, 262 * Verhältnis, 450 * Verhältnis); //Text var text = res.data.company + ',' + res.data.sales; var str = neues Array(); str = text.split(","); var hoch = 0 //Lösen Sie das Problem der Unterschiede bei der Textposition und Schriftgröße zwischen Apple- und Android-Telefonen for (var i = 0; i < str.length; i++) { wenn (istAndroid) { Kontext.Schriftart = "12px Calibri"; Kontext.Fülltext(str[i], 70, 390 + hoch) hoch += 20 } wenn (isiOS) { Kontext.Schriftart = "20px Calibri"; Kontext.Fülltext(str[i], 140, 450 * Verhältnis - 120 + Höhe) hoch += 40 } } var meinBild = neues Bild(); //QR-Code-Bild myImage.src = res.data.wxcode meinBild.crossOrigin = 'Anonym'; meinBild.onload = Funktion () { context.drawImage(meinBild, 30, 380 * Verhältnis, 48 * Verhältnis, 50 * Verhältnis); var base64 = canvas.toDataURL("image/jpeg", 1.0); var img = document.getElementById('meinPoster'); img.setAttribute('src', base64); } } }, Fehler: Funktion (e) { console.log('Ajax-Anforderungsausnahme, Ausnahmeinformationen lauten wie folgt:', e); } }); }); //Popup-Fenster schließen$(".close").click(function () { $(".dialog").fadeOut(); }) }); </Skript> 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:
|
<<: Eine kurze Diskussion zum Problem des Docker-Run-Containers im erstellten Status
>>: Verwenden Sie js, um js-Funktionen in Iframe-Seiten aufzurufen
2.1 Semantisierung sorgt dafür, dass Ihre Webseit...
In diesem Artikel wird der spezifische Code für d...
Inhaltsverzeichnis Eckig erreichen Aufrufreihenfo...
Vorwort Die Benachrichtigungsleistenkomponente is...
Beim Verknüpfen zweier Tabellen konnte kein Fremd...
HTML-Kommentare: Wir müssen häufig einige HTML-Ko...
Ich habe kürzlich bei einem praktischen Trainings...
Hallo zusammen, ich bin Liang Xu. Bei der Verwend...
Standardmäßig wird PHP unter CentOS 7 als Apache ...
Inhaltsverzeichnis 1. Herunterladen 2. Installati...
Vorwort Bei der Webentwicklung sind häufig domäne...
Bei der täglichen Arbeit müssen wir häufig Protok...
1. Installation von Windows Server 2019 Installie...
Vorwort Bei der Arbeit muss ich jede Woche die vo...
1. Einleitung Das Thema, ob Fremdschlüsseleinschr...