在我的应用程序中,我有一个NSView,我用它作为绘图画布,使用NSBezierPath绘制一些原始形状,如rects和ellipses。现在我需要让我的画布透明,但我希望我绘制的形状具有与之前相同的不透明度。我很好奇是否可以这样做,如果是的话,怎么样?!
编辑:
对不起之前的描述很糟糕!
我的最终目标是能够在透明画布上绘制正常的饱和色形状。透明,我的意思是完全清楚,如果可能的话。当我绘制形状时,我的视图一直在重绘,所以即使在这些条件下,我也希望所有内容都如上所述。
感谢任何形式的帮助!
答案 0 :(得分:5)
要使窗口透明,以便显示其后面的内容,请将窗口的backgroundColor
设置为[NSColor clearColor]
,将窗口的 opaque
设置为{{1} }。
设置视图的NO
是不必要的,因为默认情况下它已经是opaque
,因为这不能满足您的需求。视图的NO
属性意味着与Windows的opaque
属性不同。
填写opaque
是不必要的,因为所有这一切都会抹去您之前绘制的内容。如果你之前没有画过任何东西,那么你正在擦掉一块干净的木板。
您的观看做绘制的任何内容(不是clearColor
)仍然可见。
答案 1 :(得分:1)
将backgroundColor
的{{1}}设置为透明,例如:
您可以使用此方法
NSView