Einen Text entlang eines Pfades in QuartzCore zeichnen

8

Angenommen, ich habe eine Reihe von Punkten, die eine Linie und einen Text bilden. Wie kann ich den Text in

entlang dieser Linie zeichnen? %Vor%

von einer UIView?

Ich kann den Weg ohne Probleme zeichnen. Gibt es eine Standardmethode, die ich übersehen habe, oder ein Framework, mit dem ich den Text auf diesem Weg zeichnen könnte? Idealerweise würde ich dies nur mit QuartzCore / CoreGraphics machen.

Ich habe versucht, die Breite jedes Zeichens zu berechnen und jedes Zeichen zu drehen. Diese Art von Arbeiten, aber ich frage mich, ob es eine elegantere Methode gibt.

    
FelixLam 14.01.2010, 19:57
quelle

3 Antworten

11

Ich glaube, Sie können dies unter Mac OS X tun, aber CGContextShowGlyphsWithAdvances wird Ihnen am nächsten kommen, wenn Sie auf dem iPhone sind, und das wird nicht einmal rotieren.

Es sollte nicht zu schwierig sein, eine Schleife zu benutzen und jedes Zeichen mit etwas wie dem folgenden zu zeichnen. Dies ist aus der Dokumentation von Apple angepasst und nicht getestet, also Vorsicht:

%Vor%

Bearbeiten: Hier ist eine Idee der PositionAlongPath-Funktionen. Auch hier werden sie nicht getestet, sollten aber in der Nähe sein. originAlong ... gibt (-1, -1) zurück, wenn der Pfad nicht mehr ausreicht.

%Vor%     
David Kanarek 19.01.2010, 06:24
quelle
1

Dies ist wahrscheinlich irrelevant, aber Sie können entlang eines Pfades mit SVG Text eingeben ( Ссылка ), und das iPhoneOS unterstützt es.

    
kennytm 20.01.2010 06:18
quelle
0

Das obige Beispiel hat leider nicht wie erwartet funktioniert. Ich habe nun endlich den richtigen Weg gefunden, einen Text entlang des Pfades zu malen.

Hier gehen wir:

Sie können diesen Code nicht 1: 1 nehmen, da er nur aus meiner Anwendung stammt, aber ich werde die Dinge mit einigen Kommentaren verdeutlichen.

%Vor%     
Daniel Cagara 09.01.2012 19:43
quelle