iOS把两张图片合成一张图片
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把两张图片合成一张图片的更多相关文章
- 使用CSS3中Canvas 实现两张图片合成一张图片【常用于合成二维码图片】
		CSS3 Canvas 实现两张图片合成一张图片 需求 需求:在项目中遇到将一张固定图片和一张二维码图片合成一张新图片,并且用户能够将图片保存下载到本地. 思路:使用 CSS3 中的 Canvas 将 ... 
- PHP 两张图片合成一张图片(加水印)
		$dst_im = 'http://www.wangshangyou.com/content/uploadfile/201312/b3241386050881.png'; $src_im = 'htt ... 
- c#  多张图片合成一张图片
		using System; using System.Collections.Generic; using System.Drawing; using System.IO; using System. ... 
- android开发 两张bitmap图片合成一张图片
		场景:对android4.4解码gif(解码文章见前面一篇)后的图片进行每帧处理,android4.3 解码出来的每帧都很完整,但是到android4.4版本就不完整了,每帧都是在第一帧的基础上把被改 ... 
- php 合并图片 (将活动背景图片和动态二维码图片合成一张图片)
		<?php //案例一:将活动背景图片和动态二维码图片合成一张图片 //图片一 $path_1 = './background.png'; //图片二 $path_2 = './FU0851_2 ... 
- java BufferedImage 合成多张图片 - 因为JPEGImageEncoder 不能用
		java BufferedImage 合成多张图片 public void createPicTwo2(int x,int y) { try { //读取第一张图片 ... 
- 二维码合成,将苹果和安卓(ios和android)合成一个二维码,让用户扫描一个二维码就可以分别下载苹果和安卓的应用
		因为公司推广的原因,没有合适的将苹果和安卓(ios和android)合成一个二维码的工具. 因为这个不难,主要是根据浏览器的UA进行判断,所以就自己开发了一个网站 网站名称叫:好推二维码 https ... 
- IOS 计算两个经纬度之间的距离
		IOS 计算两个经纬度之间的距离 一 丶 -(double)distanceBetweenOrderBy:(double) lat1 :(double) lat2 :(double) lng1 :(d ... 
- 多张图片合成一个tif
		可以利用ACDSEE6.0打开你要合成的多张图片,CTRL全部选中,打开工具--转化文件格式-选择格式tif---所有页----合并--- 
随机推荐
- web.xml 详解contextConfigLocation  转
			spring的应用初始化流程一直没有搞明白,刚刚又碰到了相关的问题.决定得好好看看这个流程.我们在开发spring的项目当中基本上都会在web.xml通过: <context-param> ... 
- Web Service和ISAPI的区别与联系  转
			Web Service和ISAPI的区别与联系 1.Web Service 是一种新的web应用程序分支,他们是自包含.自描述.模块化的应用,可以发布.定位.通过web调用.Web Service ... 
- reids-geo
			Redis Geo Geo 
- Google视频搜索
			本博文的主要内容有 .Google视频搜索的介绍 .Google视频搜索之一:普通搜索 .Google视频搜索之二:高级搜索 1.Google视频搜索的介绍 https://zh.wiki ... 
- Validate XML using a XSD (XML Schema)
			Consider this XML file howto.xml : <?xml version="1.0" encoding="ISO-8859-1"? ... 
- 还原dede数据后系统基本参数空白栏目无显示的解决方法
			有时dedecms开发的网站在更换空间还原数据后,出现"系统基本参数"空白,而且可以看到tag也没有了. 大家不妨看看后台"数据库备份/还原"处,已经还原后的表 ... 
- mysql定时器三部曲
			1.查看事件状态 SELECT @@event_scheduler; 或 show VARIABLES LIKE '%sche%'; 2.创建存储过程 示例一批量新增: delimiter | ... 
- DES加密后get获取url参数无法解密问题
			参考:http://www.cnblogs.com/lori/archive/2011/09/08/2170979.html 问题,就是URL编码问题,如果不对URL进行编码直接加码,那么在解码时,如 ... 
- Away3d 骨骼动画优化
			很多朋友说Away3D 的骨骼数限制在32根,确切的说应该是Stage3D 的限制.在 AGAL2.0之前 VC寄存器是128个,每个vc常量寄存器最大只能容纳4位,transform占用一个4*4的 ... 
- [置顶] 获取激活码,激活myeclipse
			myeclipse10.0 正式版下载地址: http://downloads.myeclipseide.com/downloads/products/eworkbench/indigo/instal ... 
