1

私のコアグラフィックスの塗りつぶしは、近づいたり、触れたり、重なり合ったりすると、奇妙に動作します。この問題は、iPhoneシミュレータとiPhoneOS2.2で発生します。

ここに、2つのラベルと2つのCGContextFillRect()を持つカスタムビューがあります。

オーバーラップの問題

青と赤が一緒になると、この刺激的な.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 に答える