2009-05-03 7 views
1

Meine Kern-Grafikfüllungen verhalten sich merkwürdig, wenn sie sich dicht beieinander berühren oder sich überlappen. Dieses Problem tritt auf dem iPhone Simulator und iPhone OS 2.2 auf.Überlappende und berührende CoreGraphics-Rechtecke haben einen .5px-Rahmen

Hier haben wir zwei Etiketten und eine benutzerdefinierte Ansicht mit zwei CGContextFillRect():

overlap problem

Wenn die blau und rot zusammengebracht werden, sie entwickeln, um diese irritierenden .5px Linie verschmelzen. Ich kann das nicht loswerden oder sogar seine Farbe ändern.

Diese Version hat einen 1px Lücke zwischen den Rechtecken, und es ist natürlich von Schwarz mit dem Hintergrund gefüllt:

pixel gap

Ich habe versucht zu deaktivieren Anti-Aliasing, aber das behebt das Problem nicht.

- (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); 

}

Irgendwelche Ideen?

Antwort

0

Es gibt keinen Defekt. Es ist eine optische Täuschung. Ihr Auge integriert die R & B Werte nahe beieinander und schließt die weiße Überlappung ab.

Schauen Sie sich die Grafiken mit Pixie (Teil von Xcode) oder xscope (ein kostenpflichtiges Upgrade von iconfactory) an.

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

+0

Vielen Dank! So ist es ein Fehler in der Wetware. Muss auf Version 2.0 warten :-D –