雖然在iOS的UIView中繪製矩形,但我仍然遇到同樣的問題:矩形邊距將它們的顏色與背景混合在一起。我嘗試了幾個具有相同結果的矩形繪圖方法 - 使用貝塞爾路徑,逐行繪製邊框,並填充矩形的內部。如何在繪製矩形時避免顏色混合?
視圖的框架本身總是正確繪製。每當我需要一個矩形時,我甚至考慮過使用視圖,但是這看起來並不是正確的方式來做特別的事情,因爲我需要畫很多東西。
這是我的問題的一個例子。爲了便於比較,我畫一個長方形的綠色視圖與同尺寸:
CGRect horizontalBar = CGRectMake(2, 2, 10, 6);
UIView* horizontalBarSubView = [[UIView alloc] initWithFrame:horizontalBar];
horizontalBarSubView.backgroundColor = [UIColor greenColor];
[self addSubview:horizontalBarSubView];
[horizontalBarSubView release];
而對於矩形本身:
CGRect horizontalBar = CGRectMake(2, 20, 10, 6);
UIBezierPath* horizontalBarPath = [UIBezierPath bezierPathWithRect:horizontalBar];
[[UIColor greenColor] set];
[horizontalBarPath fill];
這揮動以下結果(10倍變焦):
是什麼導致顏色混合?
我該如何避免這種情況?
你說得對,我正在繪製一個視圖,該視圖已經在兩個軸上都設置了半像素。 – rahzark 2012-02-03 10:36:07