Я разрабатываю приложение, в котором мне приходится сшивать несколько изображений одно за другим, когда пользователь делает снимок с камеры.
Это то, что я использую для объединения двух изображений.
[self performSelector:@selector(joinImages:secondImage:) withObject:firstimage withObject:imageCaptured];
- (UIImage *)joinImages:(UIImage *)im1 secondImage:(UIImage *)im2
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
//Joins 2 UIImages together, stitching them horizontally
CGSize size = CGSizeMake(im1.size.width+im2.size.width, im2.size.height);
UIGraphicsBeginImageContext(size);
CGPoint image1Point = CGPointMake(0, 0);
[im1 drawAtPoint:image1Point];
CGPoint image2Point = CGPointMake(im1.size.width,0);
[im2 drawAtPoint:image2Point];
UIImage* finalImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
firstimage=finalImage;// final images updated everytime
[pool release];
return finalImage;
}
Но я получаю предупреждение о памяти, когда запускаю это на iPhone, и он отлично работает с iPod.
Также изображения обрезаются в случае iPhone.
Все, что я могу сделать, чтобы решить эту проблему.
Спасибо..