CoreGraphics を使った角丸長方形(RoundRect) を描画するためのメソッドです。

   1  - (void)
   2  drawRoundRect:(CGRect)rect
   3  withRadius:(CGFloat)radius
   4  inContext:(CGContextRef)context
   5  {	
   6    CGFloat lx = CGRectGetMinX(rect);
   7    CGFloat cx = CGRectGetMidX(rect);
   8    CGFloat rx = CGRectGetMaxX(rect);
   9    CGFloat by = CGRectGetMinY(rect);
  10    CGFloat cy = CGRectGetMidY(rect);
  11    CGFloat ty = CGRectGetMaxY(rect);
  12  	
  13    CGContextMoveToPoint(context, lx, cy);
  14    CGContextAddArcToPoint(context, lx, by, cx, by, radius);
  15    CGContextAddArcToPoint(context, rx, by, rx, cy, radius);
  16    CGContextAddArcToPoint(context, rx, ty, cx, ty, radius);
  17    CGContextAddArcToPoint(context, lx, ty, lx, cy, radius);
  18    CGContextClosePath(context);
  19    CGContextDrawPath(context, kCGPathFillStroke);
  20  }

角丸が好きなので多用しそうな気がします。 事前にStrokeやFillの色を設定してお使いください。

posted by Png genki on Wed 22 Oct 2008 at 01:39

Comments:

or Preview
Social Bookmarks
  • Delicious
  • B_entry964
  • Clip_16_12_w
Services from s21g
twpro(ツイプロ)
Twitterプロフィールを快適検索
地価2009
土地の値段を調べてみよう
MyRestaurant
自分だけのレストラン手帳
Formula
ブログに数式を埋め込める数式コミュニティ