-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
if ([multipleCapture isOn])
{
images=info[UIImagePickerControllerOriginalImage];
currentDate=[NSDate date];
myString=[dateFormatter stringFromDate:currentDate];
customText=imagetext.text;
saveImage.dateTime=myString;
saveImage.imageName=info[UIImagePickerControllerOriginalImage];
saveImage.customText=customText;
[imageArray addObject:saveImage];
[imageArray sortUsingDescriptors:sortDescriptors];
if ([imageArray count] == 1)
{
UIGraphicsBeginImageContext(images.size);
myString=[[imageArray objectAtIndex:0]valueForKey:@"dateTime"];
[images drawInRect:CGRectMake(0, 0, images.size.width, images.size.height)];
NSDictionary* attributes = @{NSFontAttributeName : [UIFontboldSystemFontOfSize:75],NSStrokeColorAttributeName :[UIColor blackColor],NSForegroundColorAttributeName : [UIColor yellowColor],NSStrokeWidthAttributeName : @-2.0};
[myString drawAtPoint:CGPointMake(120,70)withAttributes:attributes];
[customText drawAtPoint:CGPointMake(870, 70)withAttributes:attributes];
newImage= UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(newImage,self,@selector(savedPhotoImage:didFinishSavingWithError:contextInfo:), nil);
}
}
}
/ *我参与了这段代码。问题是,当我尝试进行多次拍摄时,它会显示"收到内存警告"我的应用程序崩溃了。 在这里,我试图计算图像,同时它计数"相机未就绪模式"也这样我拍摄的图像多次保存。 我该如何解决这个问题? * /
答案 0 :(得分:0)
试试这个,
int counter;
NSMutableArray * imageArray;
-(void)takePicture
{
counter=0;
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
[imagePicker setSourceType:UIImagePickerControllerSourceTypeCamera];
[imagePicker setDelegate:self];
[self presentModalViewController:imagePicker animated:YES];
[imagePicker release];
}
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
UIImage *image= [info objectForKey:UIImagePickerControllerEditedImage];
[imageArray addObject:image];
counter++;
if (counter<PhotoCount)
{
[self dismissModalViewControllerAnimated:NO];
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
[imagePicker setSourceType:UIImagePickerControllerSourceTypeCamera];
[imagePicker setDelegate:self];
[self presentModalViewController:imagePicker animated:NO];
[imagePicker release];
}
else
{
[self dismissModalViewControllerAnimated:YES];
}
}
PhotoCount
是您要拍摄的照片数量。