2011-06-21 2 views
1

Je veux obtenir des images de UIImagePickerControllerSourceTypePhotoLibrary, avant de choisir l'image de la bibliothèque d'images, je veux connaître la taille de la mémoire de cette image particulière. J'utilisecomment obtenir la taille de l'image qui dans le contrôleur UIImage picker avant de le choisir?

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 

{ 

    UIImage * img = [info objectForKey:@"UIImagePickerControllerEditedImage"]; 
    size_t imageSize = CGImageGetBytesPerRow(img.CGImage) * CGImageGetHeight(img.CGImage); 
    printf("\n the image size is :%zd",imageSize); 
    [self useImage:img]; 
    [[picker parentViewController] dismissModalViewControllerAnimated:NO]; 
    UINavigationController* navController = self.navigationController; 
    UIViewController* controller = [navController.viewControllers objectAtIndex:0]; 
    [controller dismissModalViewControllerAnimated:NO]; 


} 

ici la taille de l'image que je suis calculais est incorrect, exactement ce que la taille de l'image dans la bibliothèque d'image est différente de la taille de l'image que je suis calcul. Et je veux connaître la taille de l'image avant de choisir l'image Quelqu'un peut-il me aider Merci à l'avance

+0

Avez-vous essayé ma réponse? –

Répondre

3

Yo peut obtenir la taille de votre image capturée au format JPEG comme ceci:

UIImage * img = [info objectForKey:@"UIImagePickerControllerEditedImage"]; 
NSData *imageData = UIImageJPEGRepresentation(img, 1.0); 
yourImgSize = [imageData length]; 

Ou en PNG Format

UIImage * img = [info objectForKey:@"UIImagePickerControllerEditedImage"]; 
NSData *imageData = UIImagePNGRepresentation(img, 1.0); 
yourImgSize = [imageData length]; 

EDIT

I t sera en octets, vous pouvez considérer utile de diviser par 1024 jusqu'à ce que vous obteniez à l'unité désirée

+0

ce qui est (img, 100) il montre trop peu d'arguments d'avertissement.En fait, j'utilise 696kb image en utilisant ci-dessus, je reçois la longueur de l'image 232500bytes qui est 227.05078125 kb. –

+0

ohh mauvaise frappe, changez-le à 1.0 je vais mettre à jour cela. –

Questions connexes