Sono nuovo di Xcode (utilizzando 4.3) e non sono sicuro di come salvare un'immagine sul rullino fotografico del dispositivo. Tutto ciò che ho fatto finora è impostato su IBAction per il pulsante per salvare l'immagine. Quale metodo o funzione della libreria posso utilizzare per salvare un'immagine sul rullino fotografico dell'utente?Come posso salvare un'immagine sul rullino fotografico?
risposta
Si utilizza la funzione UIImageWriteToSavedPhotosAlbum()
.
//Let's say the image you want to save is in a UIImage called "imageToBeSaved"
UIImageWriteToSavedPhotosAlbum(imageToBeSaved, nil, nil, nil);
Edit:
//ViewController.m
- (IBAction)onClickSavePhoto:(id)sender{
UIImageWriteToSavedPhotosAlbum(imageToBeSaved, nil, nil, nil);
}
Per avere un riferimento, è possibile salvare i video in modo simile:
UISaveVideoAtPathToSavedPhotosAlbum(videoPath, nil, nil, nil);
si potrebbe desiderare di salvare un video da caricare a Instagram, ad esempio:
// Save video to camera roll; we can share to Instagram from there.
-(void)didTapShareToInstagram:(id)sender {
UISaveVideoAtPathToSavedPhotosAlbum(self.videoPath, self, @selector(video:didFinishSavingWithError:contextInfo:), (void*)CFBridgingRetain(@{@"caption" : caption}));
}
- (void) video: (NSString *) videoPath
didFinishSavingWithError: (NSError *) error
contextInfo: (void *) contextInfoPtr {
NSDictionary *contextInfo = CFBridgingRelease(contextInfoPtr);
NSString *caption = contextInfo[@"caption"];
NSString *escapedString = [videoPath stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLHostAllowedCharacterSet]]; // urlencodedString
NSString *escapedCaption = [caption stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLHostAllowedCharacterSet]]; // urlencodedString
NSURL *instagramURL = [NSURL URLWithString:[NSString stringWithFormat:@"instagram://library?AssetPath=%@&InstagramCaption=%@", escapedString, escapedCaption]];
[[UIApplication sharedApplication] openURL:instagramURL];
}
Ecco una risposta f o iOS8 usando il framework Photos.
Objective-C:
#import <Photos/Photos.h>
UIImage *snapshot = self.myImageView.image;
[[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{
PHAssetChangeRequest *changeRequest = [PHAssetChangeRequest creationRequestForAssetFromImage:snapshot];
changeRequest.creationDate = [NSDate date];
} completionHandler:^(BOOL success, NSError *error) {
if (success) {
NSLog(@"successfully saved");
}
else {
NSLog(@"error saving to photos: %@", error);
}
}];
Swift:
// Swift 3.0
import Photos
PHPhotoLibrary.shared().performChanges({
PHAssetChangeRequest.creationRequestForAsset(from: snapshot)
}, completionHandler: { success, error in
if success {
// Saved successfully!
}
else if let error = error {
// Save photo failed with error
}
else {
// Save photo failed with no error
}
})
Ecco un link alla documentazione Apple.
Come ottenere l'URL dell'immagine @ricardopereira –
@Mansuu Si prega di dare un'occhiata a https://stackoverflow.com/a/37248867/3641812 – ricardopereira
- 1. Salva GIF generato per il rullino fotografico?
- 2. salvare l'immagine nel rullino fotografico e ottenere patrimoniale url
- 3. Come salvare il video ReplayKit sul rullino fotografico con il pulsante In-App
- 4. Come eseguire il taglio quadrato alle foto nel rullino fotografico?
- 5. PhoneGap - Recupera foto dal rullino fotografico tramite il percorso
- 6. Obiettivo c - ios: come scegliere il video dal rullino fotografico?
- 7. Rapido recupero di immagini e video dal rullino fotografico
- 8. Come scrivere i metadati exif su un'immagine (non il rullino fotografico, solo un'immagine UII o JPEG)
- 9. UIImagepickercontroller: è possibile modificare l'ordinamento delle immagini nel rullino fotografico?
- 10. Salvataggio di UIImage in libreria di foto al posto del rullino fotografico
- 11. Come visualizzare "Rullino foto" direttamente utilizzando ImagePickerController
- 12. React Native - Come ottenere thumbnails del rullino fotografico invece di immagini a dimensione intera
- 13. Errore di rotazione di AVAssetExportSession quando il video proviene dal rullino fotografico
- 14. Come posso salvare il contenuto dell'editor in linea sul server? .
- 15. iPhone iOS come estrarre i metadati delle foto e le informazioni di geotagging dall'immagine di un rullino fotografico?
- 16. Come rilevare se foto/video è stata presa dalla fotocamera o importata dal rullino fotografico in iphone safari
- 17. Come salvare Rotativa PDF sul server
- 18. Come posso salvare un modulo Angolare sul mio Ruby sul back-end delle guide?
- 19. ALAssetsLibrary ottenere Rullino
- 20. Problemi di caricamento e salvataggio delle immagini dalla fotocamera e dal rullino fotografico. Che cosa sto facendo di sbagliato?
- 21. Tentativo di salvare l'immagine nell'album fotografico con nome personalizzato in iOS
- 22. Come salvare una scintilla DataFrame come csv sul disco?
- 23. Tensorflow on Docker: come salvare il lavoro sul notebook Jupyter?
- 24. Come posso salvare un file su MongoDB?
- 25. Come posso salvare un'immagine con PIL?
- 26. Come posso salvare un'immagine modificata in MATLAB?
- 27. Come posso salvare un UIColor con NSUserDefaults?
- 28. Come posso generare file zip senza salvare sul disco con Java?
- 29. awk salvare le modifiche sul posto
- 30. scrittura/lettura di bitmap in un filmato fotografico
Diciamo che ho "- (IBAction) onClickSavePhoto: (id) mittente;" nel mio file ViewController.h, usando quello che hai sopra, che cosa dovrei esattamente inserire nel file ViewController.m? Grazie ancora! – user1470914
@ user1470914 Vedi la mia modifica. Inoltre, dove stai ottenendo l'immagine da salvare nel rullino fotografico? È già nel pacchetto della tua app o l'utente scatta una foto e poi la salva nel rullino? – pasawaya
Grazie per la vostra pazienza qegal. Non ho avuto la possibilità di rivisitare questo problema fino ad ora. Il tuo EDIT ci è di grande aiuto. L'immagine è nel pacchetto dell'app. Ci sono diverse immagini nell'app e possono essere visualizzate come miniature ridotte. Quando viene selezionata una miniatura piccola, si passa a una nuova vista e si può visualizzare una versione a schermo intero. Ho un pulsante nell'angolo destro della parte superiore del navigatore che dice "salva" e questo è il pulsante che desidero salvare l'immagine sul rullo camerale del dispositivo in modo che possa essere applicato come sfondo. Grazie ancora per il tuo aiuto e la tua pazienza (non sono sicuro del motivo per cui CasperOne ha chiuso questo). – user1470914