私は以下のようなコードを使用してNSViewの内部でシンプルな四角形を描画しようとしています:OS X /ココア:透明窓の内側にNSViewの上での描画
self.shapeLayer = [CAShapeLayer layer];
self.shapeLayer.lineWidth = 2.0;
self.shapeLayer.strokeColor = [[NSColor whiteColor] CGColor];
self.shapeLayer.fillColor = [[NSColor blackColor] CGColor];
[self.layer addSublayer:self.shapeLayer];
CGMutablePathRef path = CGPathCreateMutable();
CGPathMoveToPoint(path, NULL, 400, 400);
CGPathAddLineToPoint(path, NULL, 400, 600);
CGPathAddLineToPoint(path, NULL, 600, 600);
CGPathAddLineToPoint(path, NULL, 600, 400);
CGPathCloseSubpath(path);
// set the shape layer's path
self.shapeLayer.path = path;
私もNSView drawRect:
で何かを描くことを試みました。
どちらの場合もRectangleは描画されますが、ストローク/塗りつぶしのカラーセットではなく、アルファ0.5のような半透明なバージョンです!
backgroundColorがclearColorに設定され、不透明に設定されているNSWindowのNSViewにこのRectangleを描画しようとしました。 私はこの透明性に関連するものがあると思っていますので、背景色をgreenColorに、不透明にYESに変更しました。そして、私はまだ鮮やかな無地の色ではなく、半透明で描画された四角形を取得しています。 私は何が間違っていますか?