Ich bin neu bei Xcode (mit 4.3) und bin mir nicht sicher, wie Sie ein Bild auf der Kamera-Rolle des Geräts speichern. Alles, was ich bisher gemacht habe, ist eine IBAction für die Schaltfläche zum Speichern des Bildes eingerichtet. Welche Bibliotheksmethode oder -funktion kann ich verwenden, um ein Bild auf der Kamerarolle des Benutzers zu speichern?Wie kann ich ein Bild auf der Kamerarolle speichern?
Antwort
Sie verwenden die UIImageWriteToSavedPhotosAlbum()
Funktion.
//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);
}
Als Referenz können Sie Videos auf ähnliche Weise speichern:
UISaveVideoAtPathToSavedPhotosAlbum(videoPath, nil, nil, nil);
Sie können ein Video speichern möchten Instagram, zum Beispiel zu laden:
// 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];
}
Hier ist eine Antwort f oder iOS8 mit dem Photos-Framework.
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
}
})
Hier ist eine link auf der Apple-Dokumentation.
Wie kann man das Bild URL @ricardopereira erhalten –
@Mansuu Bitte werfen Sie einen Blick auf https://Stackoverflow.com/a/37248867/3641812 – ricardopereira
- 1. Bild in Kamerarolle speichern und Asset-URL
- 2. Gespeicherte GIF-Dateien in der Kamerarolle speichern?
- 3. Wie kann ich ein Bild in der Galerie speichern?
- 4. Wie kann ich ein Bild in einem JSON-Feed speichern?
- 5. Wie kann ich ein Bild mit PIL speichern?
- 6. Wie kann ich ein Bild mit PHP speichern?
- 7. Wie kann ich ein Bild auf ein Bild in PHP wie ein Wasserzeichen hinzufügen
- 8. Wie kann ich ein Bild auf ein anderes überlagern?
- 9. Wo sollte ich ein auf dem iPhone ausgewähltes Bild speichern?
- 10. iOS & Swift - Wie kann ich ein UIImage vom Benutzer erhalten und speichern?
- 11. Wie kann ich mehr als ein Bild in der Datenbank speichern?
- 12. Wie kann ich ein Bild bei Berührung auf Vollbildgröße erweitern?
- 13. Wie kann ich das Bild im iPhone Fotoalbum speichern?
- 14. Wie kann ich ein Bild dynamisch auf AppEngine erstellen
- 15. Wie kann ich ein Bild basierend auf einer Formularauswahl ändern?
- 16. So wählen Sie ein Foto aus der Kamerarolle
- 17. Wie setze ich ein Bild auf QPushButton?
- 18. Wie kann ich ein Bild in der Bildschirmmitte anzeigen?
- 19. Wie kann ich ein Bild undurchsichtig machen?
- 20. Wie kann ich ein Bild auf EditText hinzufügen
- 21. Wie kann ich ein Daten-URI-Bild auf Pinterest teilen?
- 22. Wie mache ich ein Bild oben auf der Seite?
- 23. Wie kann ich Canvas als Bild im Firebase-Speicher speichern?
- 24. Wie kann ich das Bild speichern, aktualisieren und löschen?
- 25. Wie kann ich ein Bild in C#
- 26. Wie kann ich .Net erhalten, um dieses Bild zu speichern?
- 27. Wie kann ich ein Bild mit der Einheit "em" anzeigen?
- 28. Wie kann ich die lokale Bild-URL in Firebase speichern
- 29. ASIHTTPRequest - Hochladen von Dateien aus der Kamerarolle
- 30. Ein Bild speichern und anzeigen
Sagen wir, ich habe '- (IBAction) onClickSavePhoto: (id) sender;' in meiner ViewController.h-Datei, mit dem, was Sie oben haben, was genau müsste ich in der ViewController.m-Datei platzieren? Nochmals vielen Dank! – user1470914
@ user1470914 Siehe meine Bearbeitung. Wo erhältst du das Bild, das auf der Kamerarolle gespeichert werden soll? Ist es bereits im Paket Ihrer App enthalten oder erstellt der Benutzer ein Bild und speichert es anschließend auf der Kamera-Rolle? – pasawaya
Vielen Dank für Ihre Geduld qegal. Ich hatte bisher keine Gelegenheit, dieses Thema noch einmal zu überdenken. Dein EDIT uns super hilfreich. Das Bild befindet sich im Paket der App. Es gibt mehrere Bilder in der App und sie können als kleine Vorschaubilder angesehen werden. Wenn eine kleine Miniaturansicht ausgewählt ist, wird eine neue Ansicht angezeigt und eine Vollbildversion kann angezeigt werden. Ich habe eine Schaltfläche in der rechten Ecke des Top-Nav, die sagt "Speichern" und das ist die Schaltfläche, die ich möchte, um das Bild auf der Kamerarolle des Geräts speichern, so dass es als Hintergrundbild angewendet werden kann. Nochmals vielen Dank für Ihre Hilfe und Geduld (nicht sicher, warum casperOne dies geschlossen hat). – user1470914