1

当靠近、接触或重叠时,我的核心图形填充表现得很奇怪。此问题在 iPhone Simulator 和 iPhone OS 2.2 上。

这里我们有两个标签和一个带有两个 CGContextFillRect() 的自定义视图:

重叠问题

当蓝色和红色结合在一起时,它们会形成这条令人讨厌的 0.5px 合并线。我似乎无法摆脱它,甚至无法改变它的颜色。

这个版本的矩形之间有 1px 的间隙,当然它是用黑色背景填充的:

像素间隙

我试过禁用抗锯齿,但这并不能解决问题。

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

}

有任何想法吗?

4

1 回答 1

0

没有缺陷。这是一种视错觉。您的眼睛正在将 R&B 值紧密集成在一起并推断出白色重叠。

使用 pixie(Xcode 的一部分)或xscope(从 iconfactory 付费升级)查看图形。

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

于 2009-05-03T18:14:54.113 回答