【发布时间】:2009-05-03 17:54:51
【问题描述】:
我的核心图形填充在靠近、接触或重叠时表现得很奇怪。此问题出现在 iPhone 模拟器和 iPhone OS 2.2 上。
这里我们有两个标签和一个带有两个 CGContextFillRect() 的自定义视图:
当蓝色和红色结合在一起时,它们会形成这条令人讨厌的 0.5 像素合并线。 我似乎无法摆脱它,甚至无法改变它的颜色。
这个版本的矩形之间有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);
}
有什么想法吗?
【问题讨论】:
标签: iphone cocoa-touch graphics core-graphics antialiasing