円弧を使用してコンテキストへのパスを描画し、それをクリップとして設定して、そのクリップに画像を描画しました。
CGContextBeginPath(context);
CGContextMoveToPoint(context, lineStartPoint.x, lineStartPoint.y);
CGContextAddArc(context, lineStartPoint.x, lineStartPoint.y, 105, toAngle*M_PI,fromAngle*M_PI , 1);
CGContextMoveToPoint(context, toLinePoint.x, toLinePoint.y);
CGContextClip(context);
[[UIImage imageNamed:@"gradientfill.png"] drawInRect:[self bounds]];
この画像に示すように、これは完全に機能します
私の問題は、そのグラデーションの下部に、クリップの外側に存在させたい円を描いたということです。これは次のようになります。
クリップの外側にその円を配置できるように、コンテキストでクリッピングを停止するにはどうすればよいですか?
円を描くための私のコードは
CGMutablePathRef path = CGPathCreateMutable();
CGRect toHandleRect = CGRectMake(toLinePoint.x-5, toLinePoint.y-5, 10, 10);
CGPathAddEllipseInRect(path, NULL, toHandleRect);
CGContextAddPath(context, path);
CGPathRelease(path);
ユーザーが小さな円をそのビューの任意の場所にドラッグできるようにしたいと思います。