4

マーカーとして赤でマークされているものを探していますが、それができるかどうかわかりません。

カリグラフィーペンでマーキングしている様子です。

ここに画像の説明を入力

「Andrey」の回答に従って次のコードを試してみると、描画中にスペースを含む次の出力が得られます。

ここに画像の説明を入力

使用されているブラシ画像はこちらここに画像の説明を入力

コードをさらに変更しても、期待どおりの結果が得られないことがわかりました。ここでは、現在のポイントと次のポイントの間に存在するパスを埋めようとしています。

- (void)drawRect:(CGRect)rect
{
    // Drawing code


    CGFloat w=5.0;
    CGFloat h=2.0;
    CGContextRef context=UIGraphicsGetCurrentContext();
    CGContextSetFillColorWithColor(context, [UIColor redColor].CGColor);

    for(int i=0;i<self.positions.count;i++){
        CGPoint point=[[self.positions objectAtIndex:i] CGPointValue];

        CGFloat x=point.x-(w/2.0);
        CGFloat y=point.y-(h/2.0);
        CGContextFillRect(context, CGRectMake(x, y, w, h));
        if(i+1<self.positions.count){
            CGPoint nextPoint=[[self.positions objectAtIndex:(i+1)] CGPointValue];
            CGMutablePathRef myPath=CGPathCreateMutable();
            CGPathMoveToPoint(myPath, NULL, x, y);
            CGFloat x1=nextPoint.x-(w/2.0);
            CGFloat y1=nextPoint.y-(h/2.0);

            CGPathAddLineToPoint(myPath, NULL, x1, y1);
            CGPathAddLineToPoint(myPath, NULL, w, y1);
            CGPathAddLineToPoint(myPath, NULL, w, y);
            CGPathCloseSubpath(myPath);
            CGContextFillPath(context);
        }
    }
}
4

1 に答える 1