kCGBlendModeClear ブレンド モードを使用して、消しゴム ツールを実装します。ios では正常に動作しますが、OS X では動作しません。OS X の kCGBlendModeClear ブレンド モードで黒色の線を作成します。
サンプルコードは次のとおりです。
#if TARGET_OS_IPHONE
CGContextRef context = UIGraphicsGetCurrentContext();
#else
CGContextRef context = [[NSGraphicsContext currentContext] graphicsPort];
#endif
CGContextSaveGState(context);
CGContextSetLineWidth(context, 10);
CGContextSetRGBStrokeColor(context, 255.0, 0.0, 0.0, 1.0);
CGContextMoveToPoint(context, 100, 100);
CGContextAddLineToPoint(context, 200, 200);
CGContextStrokePath(context);
CGContextSetBlendMode(context, kCGBlendModeClear);
CGContextMoveToPoint(context, 150, 150);
CGContextAddLineToPoint(context, 180, 180);
CGContextStrokePath(context);
CGContextRestoreGState(context);
iOS:
しかしOS Xでは:
ビューとスーパービューの不透明なプロパティと背景色も変更しようとしましたが、助けにはなりませんでした。
クリアカラーが実際にはアルファ 0 の黒であることは知っていますが、OS X でアルファが無視されるのはなぜでしょうか。
ありがとう。