CoreGraphics 図形を描画する 線, 曲線
CGXxxxで図形を描画するためのAPIをいくつかをピックアップ。
円(Circle)
CGContextAddEllipseInRect( CGContextRef, CGRect);
線(Line)その1
CGContextAddLines(CGContextRef,GPoint配列,ポイント数);
線(Line)その2
CGContextMoveToPoint(CGContextRef, 横位置 , 縦位置);
CGContextAddLineToPoint(context, 横位置, 縦位置);
CGContextStrokePath(context);
例)
CGContextSetRGBStrokeColor(context, 0.0, 0.0, 1.0, 1.0); CGContextMoveToPoint(context, 30, 30); CGContextAddLineToPoint(context, 150, 350); CGContextStrokePath(context);
もう少し複雑な線(Curve Line)
CGContextMoveToPoint(CGContextRef, 横位置 , 縦位置 );
CGContextAddCurveToPoint( CGContextRef, 横位置c1 , 縦位置c1 ,
横位置c2 , 縦位置c2 , 横位置 , 縦位置 );
ベジエ曲線
CurveToPointとはまた違った, ベジエ曲線を書くためのUIBezierPathというのがあります。
サンプルその1 線など
- (void)drawRect:(CGRect)rect { CGContextRef context = UIGraphicsGetCurrentContext(); CGContextSetRGBFillColor(context, 1.0, 1.0, 0.0, 1.0); CGContextSetRGBStrokeColor(context, 1.0, 0.0, 1.0, 1.0); CGContextSetLineWidth(context, 10.0); CGRect r1 = CGRectMake(20.0 , 20.0, 100.0, 100.0); CGContextAddEllipseInRect(context,r1); CGContextFillPath(context); CGContextMoveToPoint(context, 50, 100); CGContextAddLineToPoint(context, 150, 100); CGContextAddLineToPoint(context, 150, 150); CGContextAddLineToPoint(context, 50, 150); CGContextAddLineToPoint(context, 50, 200); CGContextAddLineToPoint(context, 150, 200); CGContextStrokePath(context); CGContextSetRGBStrokeColor(context, 0.0, 1.0, 0.0, 1.0); CGContextMoveToPoint(context,50, 250); CGContextAddCurveToPoint(context, 100, 250, 100, 200, 150, 250); CGContextAddCurveToPoint(context, 200, 350, 50, 250, 50, 350); CGContextStrokePath(context); }