iOS Dev (28) 三种基本的 2D 放射变换

来源:互联网 发布:java菱形代码 编辑:程序博客网 时间:2024/05/22 11:41

iOS Dev (28) 三种基本的 2D 放射变换

  • 作者:CSDN 大锐哥
  • 地址:http://blog.csdn.net/prevention

-

基础

我们要用到的是:

CGAffineTransform

的一些函数(是 C 形式的函数)。

缩放 scale 的定义:

CGAffineTransform CGAffineTransformScale (   CGAffineTransform t,   CGFloat sx,   CGFloat sy);

旋转 roate 的定义:

CGAffineTransform CGAffineTransformRotate (   CGAffineTransform t,   CGFloat angle);

平移 translate 的定义:

CGAffineTransform CGAffineTransformTranslate (   CGAffineTransform t,   CGFloat tx,   CGFloat ty);

示例

建立一个 Empty Project,直接该丫的 application 方法。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];    UIView *view1 = [[UIView alloc] initWithFrame:CGRectMake(60, 100, 200, 200)];    view1.tag = 101;    view1.backgroundColor = [UIColor redColor];    [self.window addSubview:view1];    UIView *view2 = [[UIView alloc] initWithFrame:CGRectMake(50, 50, 100, 100)];    view2.tag = 102;    view2.backgroundColor = [UIColor yellowColor];    [view1 addSubview:view2];    UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(110, 400, 100, 44)];    btn.backgroundColor = [UIColor cyanColor];    [btn addTarget:self action:@selector(onClick) forControlEvents:UIControlEventTouchUpInside];    [self.window addSubview:btn];    self.window.backgroundColor = [UIColor whiteColor];    [self.window makeKeyAndVisible];    return YES;}- (void)onClick{    UIView *view2 = [[self.window viewWithTag:101] viewWithTag:102];    view2.transform = CGAffineTransformScale(view2.transform, 0.8, 0.8);    view2.transform = CGAffineTransformRotate(view2.transform, 0.2);    view2.transform = CGAffineTransformTranslate(view2.transform, 50, 50);}

-

转载请注明来自:http://blog.csdn.net/prevention

0 0
原创粉丝点击