2009-11-30 6 views
0

J'ai un problème étrange avec le quartz. La première fois que je lance le code ci-dessous, la ligne sera dessinée comme la ligne à droite dans l'image. La deuxième fois (et chaque fois après) ces lignes sont exécutées, la ligne ressemblera à la ligne à gauche. Pourquoi ça ressemble à ça? Tout est jaggy et semble avoir une bordure sombre. Si vous dessinez la courbe avec l'opacité, ce serait plutôt brillant la première fois, et très sombre la seconde.iPhone Quartz courbe jaggy et a la bordure sombre

CGContextSetRGBFillColor(context, 0.0,0.0,0.0,0.0); 
CGContextClearRect(context, CGRectMake(0, 0, 320, 480)); 
CGContextSetRGBFillColor(context, 0, 0, 0, 0); 
CGContextSetBlendMode(context, kCGBlendModeNormal); 
CGContextSetRGBStrokeColor(context, 1.0, 1.0, 1.0, 1.0); 
CGContextSetLineWidth(context, 4.0); 

CGContextMoveToPoint(context, p1.x, p1.y); 
CGContextAddCurveToPoint(context, cp1.x, cp1.y, cp2.x, cp2.y, p2.x, p2.y); 

CGContextDrawPath(context, kCGPathStroke); 

alt text http://pici.se/pictures/NPTbVloLR.png

Répondre

0

anticrénelage OFF? également, vous pouvez vous assurer que les valeurs x et y sont arrondies car Quartz Framework ne gère pas bien le demi-point.

Questions connexes