在我的应用程序中,我有一个 NSView,用作绘图 Canvas ,使用 NSBezierPath 绘制一些原始形状,例如矩形和椭圆形。现在我需要使 Canvas 透明,但我希望我绘制的形状具有与以前相同的不透明度。我很好奇是否可以做到这一点,如果可以的话,怎么做?!
编辑:
抱歉之前的描述不好!
我的最终目标是能够在透明 Canvas 上绘制正常的饱和颜色形状。我所说的透明是指如果可能的话完全清楚。当我绘制形状时,我的 View 一直在重新绘制自身,因此即使在这些条件下,我也希望一切都如上所述。
感谢任何形式的帮助!
最佳答案
要使窗口透明,以便显示其后面的内容,请将窗口的 backgroundColor
设置为 [NSColor clearColor]
并将窗口的 不透明
到NO
。
设置 View 的opaque
是不必要的,因为默认情况下它已经是NO
,并且因为这不能满足您的要求。 View 的 opaque
属性与 Windows 的 opaque
属性的含义不同。
使用 clearColor
填充是不必要的,因为所做的只是删除您之前绘制的内容。如果您之前没有在那里绘制任何内容,那么您正在删除一 block 干净的板。
您的 View 绘制的任何内容(不是 clearColor
)仍然可见。
关于objective-c - 如何使 NSView 透明,但保持属于它的对象不变?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16153917/