2011-01-16 17 views
2

点線(中国点)のような特殊形状の線を描くことは可能ですか?私はコードの下に線を描きます点線(中国点)のような特殊形状の線を描く

UIGraphicsBeginImageContext(self.view.frame.size); 
[drawImage.image drawInRect:CGRectMake(0, 0, 320, 480)]; 
CGContextSetLineCap(UIGraphicsGetCurrentContext(), kCGLineCapRound); 
CGContextSetLineWidth(UIGraphicsGetCurrentContext(), 5.0); 
CGContextSetRGBStrokeColor(UIGraphicsGetCurrentContext(), 0.867, 0.867, 0.867, 1.0); 
CGContextBeginPath(UIGraphicsGetCurrentContext()); 
CGContextMoveToPoint(UIGraphicsGetCurrentContext(), startPoint.x, startPoint.y); 
CGContextAddLineToPoint(UIGraphicsGetCurrentContext(), endPoint.x, endPoint.y); 
CGContextStrokePath(UIGraphicsGetCurrentContext()); 
CGContextFlush(UIGraphicsGetCurrentContext()); 
drawImage.image = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 

答えて

4

CGContextSetLineDashはあなたが望むものです。 グラフィックコンテキストで破線のパターンを設定します。

void CGContextSetLineDash (
    CGContextRef c, 
    CGFloat phase, 
    const CGFloat lengths[], 
    size_t count 
); 

この例では、円とライン(直径:20ポイント、距離:40点):描画

CGContextSetLineWidth(context, 20.0); 
CGFloat dash[] = {0.0, 40.0}; 
CGContextSetLineCap(context, kCGLineCapRound); 
CGContextSetLineDash(context, 0.0, dash, 2); 
CGContextMoveToPoint(context, 10.0, 30.0); 
CGContextAddLineToPoint(context, 310.0, 30.0); 
CGContextStrokePath(context); 
+0

感謝が私に編集を参照してください –

+0

円などの他の形状でラインを描画することが可能you.Isを回答 – Felix

関連する問題