私はXcode(4.3を使用)が初めてで、デバイスのカメラロールにイメージを保存する方法がわかりません。今まで私が行ったことはすべて、画像を保存するためのボタンのためのIBActionが設定されています。画像をユーザーのカメラロールに保存するには、どのようなライブラリメソッドまたは関数を使用できますか?イメージをカメラロールに保存するにはどうすればよいですか?
111
A
答えて
212
UIImageWriteToSavedPhotosAlbum()
機能を使用します。
//Let's say the image you want to save is in a UIImage called "imageToBeSaved"
UIImageWriteToSavedPhotosAlbum(imageToBeSaved, nil, nil, nil);
編集:参考
//ViewController.m
- (IBAction)onClickSavePhoto:(id)sender{
UIImageWriteToSavedPhotosAlbum(imageToBeSaved, nil, nil, nil);
}
6
、あなたは同様にビデオを保存することができます
UISaveVideoAtPathToSavedPhotosAlbum(videoPath, nil, nil, nil);
次の例のように、Instagramのにアップロードする動画を保存したい場合があります:
// 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];
}
29
またはPhotosフレームワークを使用しているiOS8
の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 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
}
})
ここでは、アップルのドキュメントにlinkです。
+0
イメージURLを取得する方法@ricardopereira –
+0
@マンシュウhttps://stackoverflow.com/a/37248867/3641812をご覧ください。 – ricardopereira
関連する問題
- 1. イメージをレルムデータベースに保存するにはどうすればよいですか?
- 2. イメージをJSONに保存するにはどうすればよいですか?
- 3. カメラロールにサブビューを含むUIImageViewを保存するにはどうすればよいですか?
- 4. 作成した画像ビューをカメラロールに保存するにはどうすればよいですか?
- 5. イメージをデータベースに保存するにはどうすればいいですか?
- 6. ビデオをカメラロールに保存してアセットURLを取得するにはどうすればいいですか?
- 7. imgのsrcをイメージに変換してフォルダに保存するにはどうすればよいですか?
- 8. DataUrlイメージを.netでディスクに保存するにはどうすればよいですか?
- 9. pChartで作成したイメージをファイルに保存するにはどうすればよいですか?
- 10. フォームをイメージとしてファイルに保存するにはどうすればよいですか?私のプログラムで
- 11. Androidスタジオのギャラリーにテキストをオーバーレイしてイメージを保存するにはどうすればよいですか?
- 12. 選択したウェブページの範囲をイメージに保存するにはどうすればよいですか?
- 13. イメージをiPhoneフォトアルバムに保存するにはどうすればよいですか?
- 14. 内部ストレージにイメージを保存するにはどうすればよいですか?
- 15. 写真イメージをhtml5 sqliteデータベースに保存するにはどうすればよいですか?
- 16. イメージをJSONフィードに保存するにはどうすればよいですか?
- 17. カスタマイズされたAWS EC2イメージ(AMI)を保存するにはどうすればよいですか?
- 18. データをSilverlightに保存するにはどうすればよいですか?
- 19. ファイルをfastcoloredtextboxに保存するにはどうすればよいですか?
- 20. オブジェクトをグローバルに保存するにはどうすればよいですか?
- 21. レーティングをソングに保存するにはどうすればよいですか?
- 22. スタティックデータをLaravelに保存するにはどうすればよいですか?
- 23. iPhoneにplistを保存するにはどうすればよいですか?
- 24. JSONをレディスに保存するにはどうすればよいですか?
- 25. データベースにデータを保存するにはどうすればよいですか?
- 26. Androidにデータを保存するにはどうすればよいですか?
- 27. キャンバスをイメージオブジェクトに保存するにはどうすればよいですか?
- 28. UIImageをファイルに保存するにはどうすればよいですか?
- 29. NSUSerDefaultsにMPMediaItemCollectionを保存するにはどうすればよいですか?
- 30. ディスクにイメージを保存せずに、JasperReportをHTMLにエクスポートするにはどうすればいいですか?
私が ' - (IBAction)onClickSavePhoto:(id)sender;'を持っているとします。私のViewController.hファイルで、あなたが上記のものを使って、ViewController.mファイルに置く必要があるものは何ですか?もう一度ありがとう! – user1470914
@ user1470914私の編集を参照してください。また、画像をカメラロールに保存する場所はどこですか?あなたのアプリのバンドルに既に入っているのですか、またはユーザーが写真を撮ってからカメラのロールに保存しますか? – pasawaya
あなたの忍耐力qegalに感謝します。私は今までこの問題を再検討する機会はなかった。あなたの編集は私達のスーパーに役立ちます。画像はアプリのバンドルにあります。アプリにはいくつかの画像があり、小さなサムネイルとして見ることができます。小さなサムネイルを選択すると、新しいビューに移動し、フルスクリーン版を表示できます。トップナビゲーターの右隅に「保存」と書かれているボタンがあり、これは画像をデバイスのカメラロールに保存して壁紙として適用できるようにするボタンです。あなたの助けと忍耐をもう一度ありがとう(なぜcasperOneがこれを閉じたか分かりません)。 – user1470914