接着昨天的需求,需要把得到的长图再进行处理一下,效果是这样的:把得到的长图下面拼接上一个应用下载地址的二维码图片,把拼接好的image分享出去。
分享就不说了。。。拼接图片其实也很简单,代码如下(自己建了个工具类,专门处理图片):
#pragma mark 合并图片(竖着合并,以第一张图片的宽度为主)
+ (UIImage *)combine:(UIImage *)oneImage otherImage:(UIImage *)otherImage {
//计算画布大小
CGFloat width = oneImage.size.width;
CGFloat height = oneImage.size.height + otherImage.size.height;
CGSize resultSize = CGSizeMake(width, height);
UIGraphicsBeginImageContext(resultSize);
//放第一个图片
CGRect oneRect = CGRectMake(0, 0, resultSize.width, oneImage.size.height);
[oneImage drawInRect:oneRect];
//放第二个图片
CGRect otherRect = CGRectMake(0, oneRect.size.height, resultSize.width, otherImage.size.height);
[otherImage drawInRect:otherRect];
UIImage *resultImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return resultImage;
}
这里的画布的具体大小也可以自己传个参数去做,我这里直接使用了第一张图片的宽度。整体思路是:
先设计好画布的大小(也就是拼接好的image的大小),然后开始放image。
当然根据需求,可以把这个方法多些参数,封装的更好,比如传个image数组、横着拼还是竖着拼之类的。。。
网友评论