2013-07-08 2 views
0

J'essaie de dessiner une forme en L, le code fonctionne mais les lignes ne sont pas de la bonne largeur et ont 5 pixels d'épaisseur pour les lignes verticales et certaines ont 3 pixels d'épaisseur utiliser 3 pixels comme largeur de ligne, qu'est-ce que je fais mal? voici mon code:CGContext donnant une largeur de ligne inattendue

CGContextRef ctx = UIGraphicsGetCurrentContext(); 
CGContextClearRect(ctx, rect); 
CGContextAddPath(ctx, pathi); 
CGContextSetStrokeColorWithColor(ctx, [UIColor redColor].CGColor); 
CGContextSetLineWidth(ctx, 3.0); 
CGContextSetLineCap(ctx, kCGLineCapRound); 
CGContextSetShouldAntialias(ctx, NO); 
CGContextStrokePath(ctx); 

J'ai déjà calculé le chemin "pathi" Le chemin fonctionne bien.

+0

comment vous avez calculé le chemin –

+0

Je crée un chemin simple que nous créons pour dessiner n'importe quelle image arbitraire en utilisant CGPathRef. – fibnochi

+0

laissez-nous voir le code s'il vous plaît :) –

Répondre

2

Les lignes ne sont en fait pas épaisses, la moitié des lignes est coupée lors du dessin. Vous devez appliquer un remplissage égal à la moitié de la largeur (dans votre cas, 3/2 => 1,5) car le dessin commence toujours à partir du milieu des points fournis.