如何在ios应用程序中合并两个半图像?

我做了一个相机应用程序,我点击一个图像,把它切成两半,然后我点击另一个图像,并从中切下另一半。
然后这两个图像合并我已经成功完成了这项任务,但问题是合并不顺利。

两半之间有明显的分离……我想知道如何平滑它?

//------merging the two images------ - (UIImage*)mergeImage:(UIImage*)first withImage:(UIImage*)second {   // get size of the first image   CGImageRef firstImageRef = first.CGImage;   CGFloat firstWidth = CGImageGetWidth(firstImageRef);   CGFloat firstHeight = CGImageGetHeight(firstImageRef);     // get size of the second image   CGImageRef secondImageRef = second.CGImage;   CGFloat secondWidth = CGImageGetWidth(secondImageRef);   CGFloat secondHeight = CGImageGetHeight(secondImageRef);     // build merged size   CGSize mergedSize = CGSizeMake((firstWidth+secondWidth), MAX(firstHeight, secondHeight));     // capture image context ref   UIGraphicsBeginImageContext(mergedSize);     //Draw images onto the context   [first drawInRect:CGRectMake(0, 0, firstWidth, firstHeight)];   //[second drawInRect:CGRectMake(firstWidth, 0, secondWidth, secondHeight)];   [second drawInRect:CGRectMake(firstWidth, 0, secondWidth, secondHeight) blendMode:kCGBlendModeNormal alpha:1.0];     // assign context to new UIImage   UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();     // end context   UIGraphicsEndImageContext();     return newImage;  } 

谢谢

(我接受downvote作为健康的批评,但请gv rsn,使我可以改善)

如果我没有错,那么你想这个。

 UIImageView *imgView1, *imgView2, *imgView3; imgView1 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image1"]]; imgView2 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image2"]]; imgView3 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image3"]]; imgView1.frame = CGRectMake(0, 0, 50, 50); imgView2.frame = CGRectMake(50, 50, 100, 100); imgView3.frame = CGRectMake(100, 100, 200, 200); [referenceView addSubview:imgView1]; [referenceView addSubview:imgView2]; [referenceView addSubview:imgView3]; UIGraphicsBeginImageContext(referenceView.bounds.size); [referenceView.layer renderInContext:UIGraphicsGetCurrentContext()]; UIImage *finalImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); resultView = [[UIImageView alloc] initWithImage:finalImage]; resultView.frame = CGRectMake(0, 0, 320, 480); [self.view addSubview:resultView]; referenceView.hidden = YES; 
 UIImageView *referenceView = [[UIImageView alloc]init]; referenceView.frame = CGRectMake(0, 0, 1024, 768); referenceView.hidden = NO; [self.view insertSubview:referenceView belowSubview:selfView]; UIImageView *imgView1, *imgView2,*imgView3; imgView1 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image1"]]; imgView2 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image2"]]; imgView3 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image3"]]; imgView1.frame = CGRectMake(0, 0, 50, 50); imgView2.frame = CGRectMake(50, 50, 100, 100); imgView3.frame = CGRectMake(100, 100, 200, 200); [referenceView addSubview:imgView1]; [referenceView addSubview:imgView2]; [referenceView addSubview:imgView3]; UIImage *finalImage = nil; UIGraphicsBeginImageContext(referenceView.bounds.size); [referenceView.layer renderInContext:UIGraphicsGetCurrentContext()]; finalImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return finalImage;