Heim >Web-Frontend >js-Tutorial >Wie kann ich die Textbreite in JavaScript mithilfe der Canvas-Methode berechnen?
Die Berechnung der Breite einer Zeichenfolge mit JavaScript ist nicht sofort einfach, insbesondere wenn Sie eine Nicht-Monospace-Schrift verwenden. Hier untersuchen wir eine Lösung mit der Canvas.measureText-Methode in HTML 5.
Um Canvas.measureText zu verwenden, erstellen wir einen Canvas-Kontext und weisen ihn zu den gewünschten Schriftstil. Anschließend verwenden wir die Methode „measureText“, um die Breite des angegebenen Texts zu messen.
function getTextWidth(text, font) { const canvas = getTextWidth.canvas || (getTextWidth.canvas = document.createElement("canvas")); const context = canvas.getContext("2d"); context.font = font; const metrics = context.measureText(text); return metrics.width; }
Zum Beispiel, um die Breite von „Hallo!“ zu berechnen. In der Schriftart „Bold 12pt Arial“ können wir Folgendes tun:
console.log(getTextWidth("hello there!", "bold 12pt arial")); // close to 86
Wenn wir die Schriftgröße eines bestimmten Elements verwenden möchten, können wir getCanvasFont verwenden Utility-Funktion:
const fontSize = getTextWidth(text, getCanvasFont(myEl));
Im Vergleich zu Als DOM-basierte Methode bietet die Canvas-Methode mehrere Vorteile:
Ein jsperf-Benchmark zeigt, dass die Canvas-Methode und eine Caching-DOM-basierte Methode eine ähnliche Leistung haben, außer in Firefox, wo die Canvas-Methode ist deutlich schneller.
Das obige ist der detaillierte Inhalt vonWie kann ich die Textbreite in JavaScript mithilfe der Canvas-Methode berechnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!