Hilfe Zeichnung Kreis im iPhone
Folgende ist ein code-snippet, den ich versuche, einen Kreis zu zeichnen, aber mein x-Wert druckt als ein konstanter Wert. Es ist wahrscheinlich etwas sehr einfach. Vielen Dank im Voraus für jede Hilfe.
int sides = 100;
int radius = 200;
int centerX = 100;
int centerY = 100;
CGFloat red[4] = {1.0f, 0.0f, 0.0f, 1.0f};
CGContextSetStrokeColor(context, red);
CGContextBeginPath(context);
CGContextMoveToPoint(context, 0, 0);
int i = 0;
for(i = 0; i <= sides; i++)
{
CGFloat pointRatio = i/sides;
CGFloat xSteps = cos( pointRatio * 2 * M_PI);
CGFloat ySteps = sin( pointRatio * 2 * M_PI );
CGFloat pointX = centerX + xSteps * radius;
CGFloat pointY = centerY + ySteps * radius;
NSLog(@"%i", pointX);
CGContextAddLineToPoint(context, pointX, pointY);
}
CGContextStrokePath(context);
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie 2 ganze zahlen dividieren, wird das Ergebnis auch integer - 0 in deinem Fall. Sie müssen sicherstellen, dass die Gleitkomma-division durchgeführt werden:
By the way, warum nicht Sie möchten einen Kreis zeichnen mit built-in-Funktion:
i/(CGFloat)sides
. Aber ja,CGPathAddEllipseInRect
ist der richtige Weg, es zu tun; Verschwörung hecatogon, selbst ist der harte Weg.Brauchen Sie nur 2 Zeilen code zu ziehen, eine echte Runde Kreis. Mein Beispiel-code:
Vorherige Antwort korrekt ist. Nutzen Sie auch VA cosf() und sinf () nicht cos() und sin() - du arbeitest mit float Präzision.