2011-06-01 2 views
0

J'ai généré une image JPG, enregistrée dans le dossier Documents, qui n'est pas fournie avec l'ensemble. Veuillez aider avec la classe de construction pour l'enregistrer dans la galerie.Enregistrement d'une image JPG depuis un document vers un album photo - Exemple de code

finnaly avec l'aide de kviksilver

Pour une solution complète:

// tools.h

#import <Foundation/Foundation.h> 
#import <UIKit/UIKit.h> 

@interface tools : NSObject { 

} 

@end 

// tools.m

#import "tools.m" 

@implementation tools 

-(IBAction)saveImage{ 

    NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *documentsDirectory=[paths objectAtIndex:0]; 
    NSString *imagePath=[documentsDirectory stringByAppendingPathComponent:@"file7.jpg"]; 
    UIImage *image=[UIImage imageWithContentsOfFile:imagePath]; 
    UIImageWriteToSavedPhotosAlbum(image, self,@selector(savedPhotoImage:didFinishSavingWithError:contextInfo:), nil); 
} 
@end 

En fin de compte ont pour l'appeler à partir du wrapper CPP:

void onCPPSaveImgToCamRoll () 
{ 
    return saveImage; 
} 

Répondre

0

essayer d'obtenir imagePath comme ceci:

NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory=[paths objectAtIndex:0]; 
NSString *imagePath=[documentsDirectory stringByAppendingPathComponent:@"Image.jpg"]; 

image, puis réglage:

UIImage *image=[UIImage imageWithContentsOfFile:imagePath]; 
UIImageWriteToSavedPhotosAlbum(image, self,@selector(savedPhotoImage:didFinishSavingWithError:contextInfo:), nil); 

savedPhotoImage: didFinishSavingWithError: contextInfo: sera appelé lors de l'enregistrement terminé ou ne

il suffit de créer deux méthodes dans votre classe:

-(void)saveImage{ 

NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 

NSString *documentsDirectory=[paths objectAtIndex:0]; 

NSString *imagePath=[documentsDirectory stringByAppendingPathComponent:@"Image.jpg"]; 

UIImage *image=[UIImage imageWithContentsOfFile:imagePath]; 

UIImageWriteToSavedPhotosAlbum(image, self,@selector(savedPhotoImage:didFinishSavingWithError:contextInfo:), nil); 


} 
- (void)savedPhotoImage:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInf{ 

// possible error handling 

} 

et vous devriez être ok -

+0

Ne pas oublier d'inclure savedPhotoImage: didfinish ... méthode pour que l'application ne marche pas .. accident :-D – kviksilver

2

Votre réponse est dans la première page de la classe UIImage Référence.

 
void UIImageWriteToSavedPhotosAlbum (
    UIImage *image, 
    id  completionTarget, 
    SEL  completionSelector, 
    void  *contextInfo 
); 
+0

un bienheureux peu qui est en fait avant tout droit: D –

Questions connexes