Je fais des recherches depuis un moment et j'ai besoin d'aide. Je veux juste tirer 25 lignes du centre de mon écran (160 200) à une distance de 14,4 degrés. J'utilise cette ligne de code dans une boucle où x est le multiplicateur de 14,4 degrés -Core Graphics - dessiner une ligne à un angle
UIImage*backgroundImage = [UIImage imageNamed:@"Primate Background Only.png"];
[backgroundImage drawInRect:CGRectMake(0, 0, 320, 480)];
// Dessiner Cercle extérieur
rect = CGRectMake(0.0, 35.0, 320.0, 320.0);
CGContextRef contextRef = UIGraphicsGetCurrentContext(); // Get the contextRef
CGContextSetLineWidth (contextRef, 0.5); // Set the border width
CGContextSetRGBFillColor (contextRef, (219.0f/255.0f), (219.0f/255.0f), (219.0f/255.0f), 0.05f); // Set the circle fill color to GREEN
CGContextSetRGBStrokeColor (contextRef, 0.0, 0.0, 0.0, 0.2); // Set the circle border color to BLACK
CGContextFillEllipseInRect (contextRef, rect); // Fill the circle with the fill color
CGContextStrokeEllipseInRect (contextRef, rect); // Draw the circle border
// Dessine Inner Circle
rect = CGRectMake(25.0, 60.0, 270.0, 270.0); // Get the contextRef
CGContextSetLineWidth (contextRef, 0.5); // Set the border width
CGContextSetRGBFillColor (contextRef, (219.0f/255.0f), (219.0f/255.0f), (219.0f/255.0f), 0.25f);
CGContextSetRGBStrokeColor (contextRef, 0.0, 0.0, 0.0, 0.2); // Set the circle border color to BLACK
CGContextFillEllipseInRect (contextRef, rect); // Fill the circle with the fill color
CGContextStrokeEllipseInRect (contextRef, rect);
// Dessiner des segments
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextTranslateCTM(context, 0.0, 0.0);
for (x=1; x<26; x++) {
CGContextSetLineWidth (context, 0.5);
CGContextSetRGBStrokeColor (context, 0.0, 0.0, 0.0, 0.25);
CGContextMoveToPoint (context, 160, 200);
CGContextAddLineToPoint (context, (160.0 * (cos((x*14.4)*(M_PI/180)))), (160.0 * (sin((x*14.4)*(M_PI/180))))); // The angle is in degrees
CGContextAddLineToPoint (context, 200, 65);
CGContextAddLineToPoint (context, 160, 200);
CGContextStrokePath(context); // Why is this not showing both line color and infill?
CGContextSetFillColorWithColor (context, [UIColor whiteColor].CGColor);
CGContextFillPath (context);
CGContextRef context = UIGraphicsGetCurrentContext();
}
(J'avais l'intention d'afficher une image ici mais elle ne me le permet pas!)
Est-ce que quelqu'un peut corriger mes fonctions trigonométriques? Ceci est destiné à dessiner 25 lignes dans le sens des aiguilles d'une montre de 12:00 à 24:00. Au lieu de cela, il ne recule que de 90 degrés puis revient, toutes les lignes sont aussi en longueur.
Très reconnaissant
Au-dessus est un plus grand échantillon de code utilisé pour dessiner des cercles extérieurs de remorquage et les segments intérieurs comme l'a demandé. Je vais essayer de télécharger l'image suivante.
La boucle qui répète 'x', etc. –
Gustav a raison. Aussi, si vous pouvez télécharger l'image ailleurs et fournir un lien vers celle-ci, alors quelqu'un avec une réputation suffisante peut éditer votre message afin de le mettre en ligne. – Tommy
Je reformaterais ton code mais c'est trop ... peux-tu le reformater s'il te plaît afin qu'il soit lisible? Sauf que vous essayez de l'obscurcir intentionnellement :) –