我写的是osx桌面程序。
我试过两个方法
1、[[NSGraphicsContext currentContext] setCompositingOperation:NSCompositeDestinationOut];
[NSBezierPath fillRect:win];
2、或者NSRectFillUsingOperation(win, NSCompositeDestinationOut);
还有Copy,Clear等Composite属性都试过了,擦完以后只剩一块黑色背景,而不是我期望的透明背景。
后面我还尝试在画矩形前设置一下颜色
[[NSColor clearColor] set];
同样是黑色。
我试过两个方法
1、[[NSGraphicsContext currentContext] setCompositingOperation:NSCompositeDestinationOut];
[NSBezierPath fillRect:win];
2、或者NSRectFillUsingOperation(win, NSCompositeDestinationOut);
还有Copy,Clear等Composite属性都试过了,擦完以后只剩一块黑色背景,而不是我期望的透明背景。
后面我还尝试在画矩形前设置一下颜色
[[NSColor clearColor] set];
同样是黑色。