2009-05-03 5 views
1

Mes remplissages graphiques de base agissent étrangement lorsque je les rapproche, les touche ou les chevauche. Ce problème est sur le iPhone Simulator et iPhone OS 2.2.Les rectangles CoreGraphics qui se chevauchent et se touchent ont une bordure de .5px

Nous avons ici deux étiquettes et une vue personnalisée avec deux CGContextFillRect():

overlap problem

Lorsque le bleu et le rouge sont mis ensemble, ils présentent cette fusion irritante .5px ligne. Je n'arrive pas à m'en débarrasser, ni même à changer de couleur.

Cette version dispose d'un espace de 1px entre les rectangles et il est bien sûr rempli avec le fond noir:

pixel gap

J'ai essayé de désactiver l'anti-aliasing, mais cela ne résout pas le problème.

- (void)drawRect:(CGRect)rect { 
CGContextRef context = UIGraphicsGetCurrentContext(); 

CGContextSetAllowsAntialiasing(context, false); 

CGContextSetRGBFillColor(context, 0.0, 0.0, 1.0, 1.0); 
CGContextFillRect(context, CGRectMake(20.0, 35.0 + 40 + 20 , 100, 40)); 

CGContextSetRGBFillColor(context, 1.0, 0.0, 0.0, 1.0); 
CGContextFillRect(context, CGRectMake(20.0 + 100 , 35.0 + 40 + 20 , 100, 40)); 

CGContextSetAllowsAntialiasing(context, true); 

}

Toutes les idées?

Répondre

0

Il n'y a pas de défaut. C'est une illusion d'optique. Votre œil intègre les valeurs de R & B proches l'une de l'autre et déduit le chevauchement blanc. Regardez les graphiques avec pixie (une partie de Xcode) ou xscope (une mise à jour payante d'iconfactory).

http://www.freeimagehosting.net/uploads/th.e015daef50.png>

+0

Merci! Donc, c'est un bug dans le wetware. Devra attendre la version 2.0 :-D –

Questions connexes