iOS动画详解(二)
2016-06-13 16:56
393 查看
UIImage常用的绘图操作
一个UIImage对象提供了向当前上下文绘制自身的方法。我们现在已经知道如何获取一个图片类型的上下文并将它转变成当前上下文。
平移操作:下面的代码展示了如何将UIImage绘制在当前的上下文中。
图1 UIImage平移处理
缩放操作:下面代码展示了如何对UIImage进行缩放操作:
图2 UIImage缩放处理
以上的代码首先创建一个一半图片宽度的图形上下文,然后将图片左上角原点移动到与图形上下文负X坐标对齐,从而让图片只有右半部分与图形上下文相交。
图3 UIImage裁剪原理
一个UIImage对象提供了向当前上下文绘制自身的方法。我们现在已经知道如何获取一个图片类型的上下文并将它转变成当前上下文。
平移操作:下面的代码展示了如何将UIImage绘制在当前的上下文中。
- UIImage* mars = [UIImage imageNamed:@"Mars.png"]; - - CGSize sz = [mars size]; - - UIGraphicsBeginImageContextWithOptions(CGSizeMake(sz.width*2, sz.height), NO, 0); - - [mars drawAtPoint:CGPointMake(0,0)]; - - [mars drawAtPoint:CGPointMake(sz.width,0)]; - - UIImage* im = UIGraphicsGetImageFromCurrentImageContext(); - - UIGraphicsEndImageContext(); - - UIImageView* iv = [[UIImageView alloc] initWithImage:im]; - - [self.window.rootViewController.view addSubview: iv]; - - iv.center = self.window.center;
图1 UIImage平移处理
缩放操作:下面代码展示了如何对UIImage进行缩放操作:
- UIImage* mars = [UIImage imageNamed:@"Mars.png"]; - - CGSize sz = [mars size]; - - UIGraphicsBeginImageContextWithOptions(CGSizeMake(sz.width*2, sz.height*2), NO, 0); - - [mars drawInRect:CGRectMake(0,0,sz.width*2,sz.height*2)]; - - [mars drawInRect:CGRectMake(sz.width/2.0, sz.height/2.0, sz.width, sz.height) blendMode:kCGBlendModeMultiply alpha:1.0]; - - UIImage* im = UIGraphicsGetImageFromCurrentImageContext(); - - UIGraphicsEndImageContext();
图2 UIImage缩放处理
以上的代码首先创建一个一半图片宽度的图形上下文,然后将图片左上角原点移动到与图形上下文负X坐标对齐,从而让图片只有右半部分与图形上下文相交。
图3 UIImage裁剪原理
相关文章推荐
- iOS动画详解(一)
- iOS开发,应用间的跳转
- IOS Block传值
- iOS8系统H264视频硬件编解码说明
- iOS 获得键盘的高度 NSNotificationCenter
- 百度推送(iOS)
- iOS定位获取当前所在经纬度,进而获得具体地址(省市地区街道)
- 【iOS开发】AFNetwork 2.0在请求时报错code=-1016 和 3840
- iOS 百度定位(获取经纬度)
- iOS推送角标与通知栏变化总结
- iOS纯代码手动适配(5,6,6P)
- iOS毛玻璃效果实现
- iOS 屏幕尺寸、逻辑分辨率、物理分辨率之间的相互关系
- ios 十六进制转换为十进制的
- iOS开发之drawRect初涉
- iOS 持续集成- Jenkins+iOS+fir+蒲公英 搭建持续集成环境
- IOS性能调优系列:Analyze静态分析
- IOS相机字体英文转中文
- iOS开发-Could not find a storyboard named 'Main' in bundle NSBundle
- iOS 怎样判断解屏和锁屏状态