刚刚在线

分享iOS开发技术经验的自媒体网站

多个UIImage合并成一个UIImage

写了两篇关于照片保存的文章:

  1. iOS开发之保存照片到系统相册(Photo Album)
  2. iOS开发之保存照片到自己创建的相簿

介绍了如何将图片保存到系统相册,也可以将照片保存到自己的相簿。里面还介绍了一个第三方ALAssetsLibrary+CustomPhotoAlbum保存照片的方法。

本篇文章将会介绍如何将多个UIImage合并成一个UIImage。听起来似乎有点晕晕乎乎的,这个可以合并吗?答案是肯定的。我们拿两个UIImage来举例。

创建两个UIImage

UIImage *image1 = [UIImage imageNamed:@"iOSDevTip"];
UIImage *image2 = [UIImage imageNamed:@"CodePush"];

创建UIImage的方法有很多种,我们就简单的通过imageNamed:方法来创建。

合并之后的size

CGSize size = CGSizeMake(image1.size.width + image2.size.width, image1.size.height);

合并两个UIImage,需要计算合并之后的size。假设这两个UIImage的高度是是相同的,把他们的宽度相加,得到合并之后的UIImagesize

合并方法

有了UIImagesize接下来就是把两个UIImage合并,方法如下:

 UIGraphicsBeginImageContext(size);
[image1 drawInRect:CGRectMake(0, 0, image1.size.width, size.height)];
[image2 drawInRect:CGRectMake(image1.size.width, 0, image2.size.width, size.height)];
UIImage *togetherImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

通过上述的代码,就可以实现两个UIImage的合并。` 这个小功能还挺有用的。