2013-06-28 90 views
3

我有一個NSBezierPath需要有半透明填充。當我用純色填充它時,我會得到預期的結果。但是,當填充半透明顏色時,我會得到一個圓形筆劃,但有一個奇怪的矩形填充。它看起來像:帶透明填充的NSBezierPath

Rectangular fill

而是充滿整個區域的,我得到一個小的,未填充邊界的行程內填充的矩形。我建立我的路徑如下:

NSBezierPath *menuItem = [NSBezierPath bezierPathWithRoundedRect:menuItemRect xRadius:3 yRadius:3] 

[menuItem setLineWidth:4.0]; 
[menuItem setLineJoinStyle:NSRoundLineJoinStyle]; 

[[NSColor whiteColor] set]; 
[menuItem stroke]; 

[[NSColor colorWithCalibratedRed:0.000 green:0.000 blue:0.000 alpha:0.500] set]; 
[menuItem fill]; 

如果任何人有任何想法,那將是偉大的。

由於

回答

1

半透明填充與邊界重疊作爲NSBezierPath從其中導致該小邊界路徑的中途筆畫。白色邊框和其他邊框應該加起來最多4個像素。因此,爲了解決這個問題,我認爲你需要創建另一條貝塞爾路徑來防止兩者互相重疊。

+0

運行良好。謝謝。 – nosedive25