query: tag:draw

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

objective-c>>

  • (void)
    drawRoundRect:(CGRect)rect
    withRadius:(CGFloat)radius
    inContext:(CGContextRef)context
    {
    CGFloat lx = CGRectGetMinX(rect);
    CGFloat cx = CGRectGetMidX(rect);
    CGFloat rx = CGRectGetMaxX(rect);
    CGFloat by = CGRectGetMinY(rect);
    CGFloat cy = CGRectGetMidY(rect);
    CGFloat ty = CGRectGetMaxY(rect);

    CGContextMoveToPoint(context, lx, cy);
    CGContextAddArcToPoint(context, lx, by, cx, by, radius);
    CGContextAddArcToPoint(context, rx, by, rx, cy, radius);
    CGContextAddArcToPoint(context, rx, ty, cx, ty, radius);
    CGContextAddArcToPoint(context, lx, ty, lx, cy, radius);
    CGContextClosePath(context);
    CGContextDrawPath(context, kCGPathFillStroke);

}
<<--

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

posted by genki genki on Tue 21 Oct 2008 at 13:10 with 0 comments