当我从iphone相机拍摄时我遇到问题然后我在设备控制台上收到此错误“收到内存警告”。虽然我从iphone照片馆选择快照然后我没有得到任何内存警告问题。这是下面的代码
-(IBAction)uploadImageBtn:(id)sender
{
UIButton *btn = (UIButton *)sender;
@try
{
UIImagePickerController *pickImage = [[UIImagePickerController alloc]init];
pickImage.delegate = (id)self;
if (btn.tag == 2)
{
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary ])
{
pickImage.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
[self presentViewController:pickImage animated:YES completion:nil];
}
else
{
UIAlertView *alertVw = [[UIAlertView alloc]initWithTitle:@"Message" message:@"Photo library not exist" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
[alertVw show];
}
}
else if (btn.tag == 3)
{
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera ])
{
pickImage.sourceType = UIImagePickerControllerSourceTypeCamera;
[self presentViewController:pickImage animated:YES completion:nil];
}
else
{
UIAlertView *alertVw = [[UIAlertView alloc]initWithTitle:@"Message" message:@"Camera not working " delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
[alertVw show];
}
}
}
@catch (NSException *exception)
{
NSLog(@"exception %@",exception);
}
}
// uiimage picker view controller delegate method
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
@try {
[picker dismissViewControllerAnimated:YES completion:nil];
// Edited image works great (if you allowed editing)
myImage = [info objectForKey:UIImagePickerControllerEditedImage];
// AND the original image works great
myImage = [info objectForKey:UIImagePickerControllerOriginalImage];
myImage = [myImage fixOrientation];
// AND do whatever you want with it, (NSDictionary *)info is fine now
// fixOrObj = [[fixorientation alloc]init];
// myImage = [fixOrObj fixOrientation];
dataObj = UIImageJPEGRepresentation(myImage, 0);
HUD = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
HUD.delegate = (id)self;
HUD.labelText = @"Uploading image";
[self performSelector:@selector(uploadimages) withObject:nil afterDelay:1.0];
}
@catch (NSException *exception)
{
NSLog(@"exception %@",exception);
}
}
kinsly解决了这个问题,我试了两天但是没能成功
答案 0 :(得分:0)
你可以做的是你可以减小照片的大小。因为你拍摄的照片分辨率高,尺寸大,所以首先缩小尺寸,如下所示。
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
CGSize sizeCropped = CGSizeMake(602, 450);//you can give any size
UIImage *theimage = nil;
theimage = [yourclassname imageWithImage:image scaledToSize:sizeCropped];
//you can do here whatever you want with theImage
[imgPicker dismissViewControllerAnimated:YES completion:nil];
}
+ (UIImage*)imageWithImage:(UIImage*)image
scaledToSize:(CGSize)newSize;
{
UIGraphicsBeginImageContext( newSize );
[image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}
让我知道它的工作与否!!!
快乐编码!!!!