2011-01-13 8 views
0

Ich zeichne Text auf einer Leinwand und fragte mich, wie ich die Dimensionen des zu zeichnenden Textes bekommen kann.So finden Sie die Dimensionen von context.fillText (Text, x, y)

Die Höhe sollte einfach genug sein.

Mein einziger Gedanke ist, dass eine Monospace-Schriftart verwenden, und berechnen Sie die Länge aus der Anzahl der Zeichen. Gibt es einen besseren Weg, dies zu tun?

Antwort

2

Haben Sie diese drawing text using canvas Dokumentation gelesen? Speziell aus der methods section;
Die measureText() Methode scheint zu tun, was Sie fragen.

Zwar gibt es kein Beispiel in der Dokumentation, die ich den Einsatz bin zu raten ist so etwas wie:

var text = 'this is my text'; 
var text_ctx = ctx.measureText(text); 
var text_width = text_ctx.width; 
+0

Sie tatsächlich text_width.width benötigen, als 'measureText' ein Objekt zurückgibt – andynormancx

+0

Danke für die Korrektur @andynormancx, in der Tat sagte ich "Ich rate", weil ich es nie benutzt oder getestet habe und ich aus der Dokumentation nicht genau sagen konnte, wie es geht. Obwohl es ein Schritt in die richtige Richtung war. – acm

Verwandte Themen