9

UIImage をフォト アルバムに保存しようとしています。私はいくつかの方法を試しましたが、最後の方法は次のとおりです。

-(IBAction)captureLocalImage:(id)sender{

[photoCaptureButton setEnabled:NO];

// Save to assets library
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];

[library writeImageToSavedPhotosAlbum: imageView.image.CGImage metadata:nil completionBlock:^(NSURL *assetURL, NSError *error2)
 {
     //             report_memory(@"After writing to library");
     if (error2) {
         NSLog(@"ERROR: the image failed to be written");
     }
     else {
         NSLog(@"PHOTO SAVED - assetURL: %@", assetURL);
     }

     runOnMainQueueWithoutDeadlocking(^{
         //                 report_memory(@"Operation completed");
         [photoCaptureButton setEnabled:YES];
     });
 }];  

}

imageView は、保存したい画像を含む UIImageView です。ログに「PHOTO SAVED - assetURL: (null)」が表示され、写真がライブラリに保存されません。

私は何を間違っていますか?

4

6 に答える 6

12

この次の行を使用して、写真ライブラリに画像を保存してください

UIImageWriteToSavedPhotosAlbum(imageView.image,nil,nil,nil);

:)

于 2012-10-02T11:33:53.370 に答える
2

このサンプルを確認してください..アセット ライブラリを使用して写真を保存する方法を説明しています..

あなたも使用することができます..

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

彼のリンクを確認する iPhone フォト ライブラリに画像を保存する方法は?

于 2012-10-02T10:32:44.963 に答える
1

GPUImageを使用していますが、ライブラリ自体に何らかの問題があるようです。

上記のコードは完全に機能しています。この問題についてもっと読みたい場合:

imageFromCurrentlyProcessedOutputを含むGPUImagePictureはUIImageを取得しません

于 2012-10-04T21:44:11.293 に答える
0

vishyが言ったように、iOS 8.1 UIKitフレームワークには UIImageWriteToSavedPhotosAlbum() 関数があります。

私はこのように使用します:

 UIImageWriteToSavedPhotosAlbum(myImage, self, "image:didFinishSavingWithError:contextInfo:", nil)

その後

func image(image: UIImage, didFinishSavingWithError error: NSError?, contextInfo:UnsafePointer<Void>) {
    // check error, report image has been saved, ...
}
于 2015-11-04T10:23:39.190 に答える
0

カメラから写真を撮ると、ピッカー デリゲートに画像を保存できます。

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    UIImage *image = [info valueForKey:UIImagePickerControllerEditedImage];   
    [library writeImageToSavedPhotosAlbum:image.CGImage metadata:[info objectForKey:UIImagePickerControllerMediaMetadata] completionBlock:^(NSURL *assetURL, NSError *error) {
...
    }];



    [picker dismissViewControllerAnimated:YES completion:nil];
}
于 2015-12-23T05:29:49.877 に答える