iOS Dev (28) 三种基本的 2D 放射变换
2014-01-18 17:43
246 查看
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
相关文章推荐
- Matrix学习3、Matrix的基本三种变换之Translation、Skew、Rotate
- 基本的2D图形变换&变换矩阵推导
- 基本的2D图形变换&变换矩阵推导
- Matrix学习2、Matrix的基本三种变换之Scale
- CSS3中的transform属性进行2D和3D变换的基本用法
- 基本的2D图形变换&变换矩阵推导
- 基本的2D图形变换&变换矩阵推导(转)
- Matrix学习3、Matrix的基本三种变换之Translation、Skew、Rotate
- 设计自己的软渲染器2-构建3D世界到2D屏幕显示的基本变换
- 三种基本的存储引擎比较
- Quartz2D绘图的基本使用
- 基本排序(一):冒泡排序算法的三种基本实现
- 求解线性方程组的三种基本迭代法
- git三种状态 三种工作状态 git基本流程
- Java中用户向系统传递参数的三种基本方式实例分享
- android 2D图形系统 skia框架基本分析(一)--以后整个skia调用关系图出来
- WPF学习04:2D绘图 使用Shape绘基本图形
- CSS(4)__CSS基本用法<三种定位>
- 坐标变换Quartz 2D
- bada 2D游戏编程之三——游戏的基本结构