La compression et la baisse de la taille / redimensionnement de l'image pendant l'enregistrement de l'image dans l'application iPhone
Pour comprendre ma question s'il vous plaît aller à travers suivantes:
- Dans mon application utilisateur appuie sur un bouton.
- Image du contrôleur de sélecteur est affiché
- utilisateur sélectionne des images et /ou une image à partir d'elle.
- tous que les images doivent être enregistrées dans mon application iPhone.
J'ai déjà mis en place cette et pour ce faire j'ai mis en œuvre code suivant.
-(IBAction)setPhoto:(id)sender {
facPhotoPicker=[[UIImagePickerController alloc]init];
facPhotoPicker.delegate=self;
facPhotoPicker.sourceType=UIImagePickerControllerSourceTypePhotoLibrary;
facPhotoPicker.allowsImageEditing=YES;
facPhotoPicker.navigationBar.barStyle=UIBarStyleBlackOpaque;
[self presentModalViewController:facPhotoPicker animated:YES];
}
-(void)imagePickerController:(UIImagePickerController*)picker didFinishPickingMediaWithInfo:(NSDictionary*)info {
NSData *imgData=UIImageJPEGRepresentation([info objectForKey:@"UIImagePickerControllerOriginalImage"],1);
UIImage *img=[[UIImage alloc] initWithData:imgData];
facImgView.image=img;
[img release];
NSString *str=[NSString stringWithFormat:@"%i.jpg",[currentFaculty facultyNo]];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *path = [NSString stringWithFormat:@"%@/%@", [paths objectAtIndex:0], str];
[imgData writeToFile:path atomically:YES];
[picker dismissModalViewControllerAnimated:YES];
}
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {
[picker dismissModalViewControllerAnimated:YES];
}
Mais le problème est que l'utilisateur de l'iPhone peut avoir de plus grandes images.
Je ne veux pas de stocker des images de grande taille dans l'application.
par exemple
- utilisateur sélectionne une image ayant une taille de 1200 x 800
-
Mais je veux seulement 80 x 80 taille de l'image
- sélectionné les images doivent être en bas de la taille de mon exigence /8 mo de l'image à moins de 500 ko
- comment stocker l'image à l'intérieur d'un annuaire de ressources au lieu de les stocker dans le répertoire documents de l'?
Vous devez vous connecter pour publier un commentaire.
Ce problème est résolu.
La principale clé pour la réduction de taille. J'ai réduit la taille de l'image jusqu'à 116 ko.
while ([imgData length] > 5000 && compressionRatio > 0.1)
2) Vous ne pouvez pas stocker dans le répertoire Resources maintenant dans le répertoire de l'application.