Was ist der Unterschied zwischen dem Schließen des Bezierpfads mit der Funktion closePath und dem manuellen Schließen?
Ich versuche mit @ ein Rechteck zu machUIBezierPath
. Ich habe zwei verschiedene Arten gewählt, um es zu zeichnen. Außerdem habe ich die Strichbreite auf 25 px erhöht.
Erste Methode: closePath @ verwend
UIBezierPath *bpath = [UIBezierPath bezierPath];
[bpath moveToPoint:CGPointMake(x, y)];
[bpath addLineToPoint:CGPointMake(x + w, y)];
[bpath addLineToPoint:CGPointMake(x + w, y + h)];
[bpath addLineToPoint:CGPointMake(x, y + h)];
[bpath closePath];
Ausgabe
Zweite Methode: Pfad manuell schließen
UIBezierPath *bpath = [UIBezierPath bezierPath];
[bpath moveToPoint:CGPointMake(x, y)];
[bpath addLineToPoint:CGPointMake(x + w, y)];
[bpath addLineToPoint:CGPointMake(x + w, y + h)];
[bpath addLineToPoint:CGPointMake(x, y + h)];
[bpath addLineToPoint:CGPointMake(x, y)];
Ausgabe
In der Dokumentation zuclosePath
es sagtThis method closes the current subpath by creating a line segment between the first and last points in the subpath. This method subsequently updates the current point to the end of the newly created line segment, which is also the first point in the now closed subpath.
Und in der zweiten Methode erstelle ich das Liniensegment zwischen dem ersten und dem letzten Punkt. Also, warum wird in der zweiten Methode das Rechteck nicht komplett gestrichen?
Hinweis: Der Unterschied zwischen diesen Methoden ist nur sichtbar, wenn die Strichbreite erheblich vergrößert wird.