ipnone CGRectInset 该结构体的应用


CGRect CGRectInset (
   CGRect rect,
   CGFloat dx,
   CGFloat dy
);
该结构体的应用是以原rect为中心,再参考dx,dy,进行缩放或者放大。
如图:
图中的每一个矩形都是以上一个矩形作为参考矩形。所以下一矩形(比如黄色矩形对绿色矩形来说是下一个矩形)都比上一个矩形要小。
具体小多少都是要参照dx和dy来判定的。
代码如下:
View Code
CGContextAddRect(context, currentRect);
            CGContextDrawPath(context, kCGPathFillStroke);
            CGRect original = CGRectMake(100100200200);
            CGContextSetFillColorWithColor(context, [UIColor redColor].CGColor);
            CGContextAddRect(context, original);
            CGContextDrawPath(context, kCGPathFillStroke);
            
            CGRect firstRect = CGRectInset(original, 1010);
            CGContextSetFillColorWithColor(context, [UIColor blueColor].CGColor);
            CGContextAddRect(context, firstRect);
            CGContextDrawPath(context, kCGPathFillStroke);
            
            
            CGRect secondRect = CGRectInset(firstRect, 1010);
            CGContextSetFillColorWithColor(context, [UIColor greenColor].CGColor);
            CGContextAddRect(context, secondRect);
            CGContextDrawPath(context, kCGPathFillStroke);
            
            CGRect thirdRect = CGRectInset(secondRect, 1010);
            CGContextSetFillColorWithColor(context, [UIColor yellowColor].CGColor);
            CGContextAddRect(context, thirdRect);
            CGContextDrawPath(context, kCGPathFillStroke);
            
            CGRect fourRect = CGRectInset(thirdRect, 1010);
            CGContextSetFillColorWithColor(context, [UIColor grayColor].CGColor);
            CGContextAddRect(context, fourRect);

如果dx或者dy>0 就进行缩小,如果dx或者dy<0,就进行扩大。

 

posted on 2011-12-06 11:46  wtq  阅读(1211)  评论(0编辑  收藏  举报