2

CoreGraphics を使用して背景画像にフリーハンド描画を実装していますが、これはうまく機能しています。ユーザーが自分の描画をクリアできるように、この描画に消去機能を実装したいと考えています。

4

2 に答える 2

0

画面をクリアするだけの場合は、作成した CGPath を削除すると、何も描画されなくなります。

使用を消しゴムツールに切り替えて特定のものだけを消去する場合は、他の図面の上に背景を描画できる新しい描画クラスを設定するか、交差点を描画しないようにする必要があるクラスを調整する必要があります元のパスと消しゴムのパスの間。

于 2013-01-16T13:36:04.210 に答える
0

これを UITouch メソッド「touchesMoved」で使用して、描画したパスをクリアできます

`UITouch *touch = [[event allTouches] anyObject];

currenttouch = [タッチ locationInView:drawingImageView];

CGColorRef strokeColor = [UIColor blackColor].CGColor;

UIGraphicsBeginImageContext(drawingImageView.frame.size);

    CGContextRef context = UIGraphicsGetCurrentContext();


    [drawingImageView.image drawInRect:CGRectMake(0, 0, drawingImageView.frame.size.width, drawingImageView.frame.size.height)];

    CGContextSetLineCap(context, kCGLineCapRound);

    CGContextSetLineWidth(context, brushSize);

    CGContextSetStrokeColorWithColor(context, strokeColor);

    CGContextSetBlendMode(context, kCGBlendModeClear);

    CGContextBeginPath(context);

    CGContextMoveToPoint(context, currenttouch.x, currenttouch.y);

    CGContextAddLineToPoint(context, currenttouch.x, currenttouch.y);

    CGContextStrokePath(context);

    drawingImageView.image = UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

`

于 2013-01-16T13:52:51.223 に答える