Probleme lors de la sauvegarde d'une image
JonathanSiboni
Membre
Bonjour ,
dans mon application j'ai une imageView en fond (img1) ) et par le picker , j'ajoute une photo de la gallerie photo de l'iphone (img_picked) pour en faire qu'une image , puis la sauvegarder.
Mon problème est que au moment ou je sauvegarde l'image , img_picked n'est pas au meme endroit que dans l'application , elle est décalée (dans la photo sauvegardée).
vous pouvez le voir ici :
dans l'application juste avant d'appuyer sur le bouton save : http://hpics.li/a39d744
juste apres ca , dans la galerie du simulateur : http://hpics.li/39ccbd8
voici mon code :
//picker
-(IBAction)addphoto:(id)sender {
UIImagePickerController * picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
[self presentViewController:picker animated:YES completion:nil];
}
//void
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
[picker dismissViewControllerAnimated:YES completion:nil];
img_picked.image = [info objectForKey:@UIImagePickerControllerOriginalImage];
if (UIGraphicsBeginImageContextWithOptions != NULL) {
UIGraphicsBeginImageContextWithOptions(img1.image.size, NO, 0.0);
}
else {
UIGraphicsBeginImageContext(img1.image.size);
}
[img1.image drawInRect:CGRectMake(0, 0, img1.image.size.width, img1.image.size.height)];
[img_picked.image drawInRect:CGRectMake(img_picked.frame.origin.x ,img_picked.frame.origin.y , img_picked.frame.size.width, img_picked.frame.size.height)];
imagetoBesaved = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
}
//sauvegarde
-(IBAction)save:(id)sender {
UIImageWriteToSavedPhotosAlbum(imagetoBesaved, nil, nil, nil);
}
en esperant que vous ayez compris mon probleme , merci d'avance !
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Avant le 1er drawInRect, ajoute :
Et après le second, ajoute :
Sinon, vérifie les dimensions des images, pour voir lesquelles ne sont pas bonnes.