最初に2番目の上に、2つのUIImageViewがあります。最初の画像の一部をブラシで消去して(ブラシはソフトエッジのpng画像です)、2番目の画像の一部を表示したいと思います。
私はこの方法でそれをしました:
1) touchesMovedと[self setNeedsDisplayInRect:[self brushRectForPoint:touch_location]];
2) (void)drawRect:(CGRect)rectで[_brush drawAtPoint:touch_location blendMode:kCGBlendModeDestinationOut alpha:1];を呼び出します。
問題なく動作しますが、 touchesMovedの頻度が十分ではありません。ユーザーが指を速く動かすと、1 本の長い線ではなく、短い線 (またはポイント) がたくさん表示されます。
UIBezierPath と例の情報を見つけましたが、作成者はパスで線を引くだけです:
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextAddPath(context, path);
CGContextSetLineCap(context, kCGLineCapRound);
CGContextSetLineWidth(context, self.lineWidth);
CGContextSetStrokeColorWithColor(context, self.lineColor.CGColor);
CGContextStrokePath(context);
UIBezierPath で png ブラシを描画するにはどうすればよいですか?
私はこのようなものが必要です
どうもありがとう!