iOS把两张图片合成一张图片
2016-01-28 20:31
441 查看
0x00 步骤
先读取两张图片把创建出CGImageRef创建上下文画布
把图片依次画在画布指定位置上
从上下文中获得合并后的图片
关闭上下文
释放内存
0x01 代码实现
- (void)composeImg { UIImage *img = [UIImage imageNamed:@"0.png"]; CGImageRef imgRef = img.CGImage; CGFloat w = CGImageGetWidth(imgRef); CGFloat h = CGImageGetHeight(imgRef); //以1.png的图大小为底图 UIImage *img1 = [UIImage imageNamed:@"1.png"]; CGImageRef imgRef1 = img1.CGImage; CGFloat w1 = CGImageGetWidth(imgRef1); CGFloat h1 = CGImageGetHeight(imgRef1); //以1.png的图大小为画布创建上下文 UIGraphicsBeginImageContext(CGSizeMake(w1, h1)); [img1 drawInRect:CGRectMake(0, 0, w1, h1)];//先把1.png 画到上下文中 [img drawInRect:CGRectMake(100, 100, w, h)];//再把小图放在上下文中 UIImage *resultImg = UIGraphicsGetImageFromCurrentImageContext();//从当前上下文中获得最终图片 UIGraphicsEndImageContext();//关闭上下文 NSString *path = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject]; NSString *filePath = [path stringByAppendingPathComponent:@"01.png"]; [UIImagePNGRepresentation(resultImg) writeToFile:filePath atomically:YES];//保存图片到沙盒 CGImageRelease(imgRef); CGImageRelease(imgRef1); }
0x10 效果图
相关文章推荐
- iOS 使用动态库(dylib)和动态加载framework
- iOS CGContextRef画图小结
- iOS:手把手教你发布代码到CocoaPods(Trunk方式)
- iOS 画贝塞尔曲线代码
- [ios]如何手动symbolicate一个crash log文件
- iOS 利用贝塞尔曲线画图
- iOS删除cell
- xib中使用auto layout
- IOS smartWatch软件设计
- iOS 之 多线程一
- Xcode7.1与iOS9出现的异常bug
- iOS 调试 crash breakpoint EXC_BAD_ACCESS SIGABRT方法总结
- ios 建立私有的 pod 仓库
- iOS字符串比较(区分与不区分大小写比较)
- iOS-如何在工程内添加pch预编译头文件
- iOS自带分享
- 在iOS中接入Bugly来拦截崩溃
- iOS图片上传
- iOS 整体框架类图
- iOS JSON NSString Convert to NSDictionary