【代码笔记】多张图片合成一张

代码:

 

RootViewController.m

 

复制代码
#import "RootViewController.h"

@interface RootViewController () @end

@implementation RootViewController - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { // Custom initialization
 } return self; } - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view.
 NSArray *imgArray = [[NSArray alloc] initWithObjects: [UIImage imageNamed:@"1.jpg"], [UIImage imageNamed:@"2.jpg"], [UIImage imageNamed:@"3.jpg"], [UIImage imageNamed:@"4.jpg"], [UIImage imageNamed:@"5.jpg"], nil]; NSArray *imgPointArray = [[NSArray alloc] initWithObjects: @"10", @"10", @"10", @"25", @"30", @"15", @"30", @"50", @"20", @"80", nil]; BOOL suc = [self mergedImageOnMainImage:[UIImage imageNamed:@"1.jpg"] WithImageArray:imgArray AndImagePointArray:imgPointArray]; if (suc == YES) { NSLog(@"Images Successfully Mearged & Saved to Album"); } else { NSLog(@"Images not Mearged & not Saved to Album"); } } #pragma -mark -functions
//多张图片合成一张
- (BOOL) mergedImageOnMainImage:(UIImage *)mainImg WithImageArray:(NSArray *)imgArray AndImagePointArray:(NSArray *)imgPointArray { UIGraphicsBeginImageContext(mainImg.size); [mainImg drawInRect:CGRectMake(0, 0, mainImg.size.width, mainImg.size.height)]; int i = 0; for (UIImage *img in imgArray) { [img drawInRect:CGRectMake([[imgPointArray objectAtIndex:i] floatValue], [[imgPointArray objectAtIndex:i+1] floatValue], img.size.width, img.size.height)]; i+=2; } CGImageRef NewMergeImg = CGImageCreateWithImageInRect(UIGraphicsGetImageFromCurrentImageContext().CGImage, CGRectMake(0, 0, mainImg.size.width, mainImg.size.height)); UIGraphicsEndImageContext(); if (NewMergeImg == nil) { return NO; } else { UIImageWriteToSavedPhotosAlbum([UIImage imageWithCGImage:NewMergeImg], self, nil, nil); return YES; } } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated.
} @end
复制代码

你可能感兴趣的:(【代码笔记】多张图片合成一张)