將圖片寫入相冊

將圖片寫入系統(tǒng)相冊

/**
 保存圖片到系統(tǒng)相薄
 */
- (void)saveImageToSystemPhotoLibrary
{
    NSData *data = [NSData dataWithContentsOfURL:[NSURL  URLWithString:self.listModel.originalUrls[_currentIndex]]];
    UIImage *image = [UIImage imageWithData:data]; // 取得圖片
    
    [[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{
        //寫入圖片到相冊
        PHAssetChangeRequest *req = [PHAssetChangeRequest creationRequestForAssetFromImage:image];
    } completionHandler:^(BOOL success, NSError * _Nullable error) {
        NSLog(@"success = %d, error = %@", success, error);
        if (success)
        {
            NSLog(@"=========保存圖片成功");
        }
    }];
}

將圖片寫入系統(tǒng)相冊和相薄

- (void)saveImageToPhotoLibrary
{
    NSData *data = [NSData dataWithContentsOfURL:[NSURL  URLWithString:self.listModel.originalUrls[_currentIndex]]];
    UIImage *image = [UIImage imageWithData:data]; // 取得圖片
       //保存圖片
       __block NSString *assetId = nil;
      // 1. 存儲圖片到"相機(jī)膠卷"
       [[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{
             // 新建一個(gè)PHAssetCreationRequest對象
             // 返回PHAsset(圖片)的字符串標(biāo)識
         assetId = [PHAssetCreationRequest creationRequestForAssetFromImage:image].placeholderForCreatedAsset.localIdentifier;
           } completionHandler:^(BOOL success, NSError * _Nullable error) {
                 // 2. 獲得相冊對象
                 PHAssetCollection *collection = [self getCollection];
                 // 3. 將“相機(jī)膠卷”中的圖片添加到新的相冊
                 [[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{
                       PHAssetCollectionChangeRequest *request = [PHAssetCollectionChangeRequest changeRequestForAssetCollection:collection];
                       NSLog(@"%@", [PHAsset fetchAssetsWithLocalIdentifiers:@[assetId] options:nil]);
                       // 根據(jù)唯一標(biāo)示獲得相片對象
                       PHAsset *asset = [PHAsset fetchAssetsWithLocalIdentifiers:@[assetId] options:nil].firstObject;
                       // 添加圖片到相冊中
                       [request addAssets:@[asset]];
                     } completionHandler:^(BOOL success, NSError * _Nullable error) {
                           NSLog(@"成功保存到相簿:%@", collection.localizedTitle);
                          [MBProgressHUD showSuccessMessage:@"保存圖片成功"];
                     }];
        }];
}

 - (PHAssetCollection *)getCollection {
      // 先獲得之前創(chuàng)建過的相冊
      PHFetchResult<PHAssetCollection *> *collectionResult = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeAlbum subtype:PHAssetCollectionSubtypeAlbumRegular options:nil];
      for (PHAssetCollection *collection in collectionResult) {
            if ([collection.localizedTitle isEqualToString:@"搜緣"]) {
                   return collection;
                }
           }
    
       // 如果相冊不存在,就創(chuàng)建新的相冊(文件夾)
       __block NSString *collectionId = nil; // __block修改block外部的變量的值
      // 這個(gè)方法會在相冊創(chuàng)建完畢后才會返回
       [[PHPhotoLibrary sharedPhotoLibrary] performChangesAndWait:^{
            // 新建一個(gè)PHAssertCollectionChangeRequest對象, 用來創(chuàng)建一個(gè)新的相冊
             collectionId = [PHAssetCollectionChangeRequest creationRequestForAssetCollectionWithTitle:@"搜緣"].placeholderForCreatedAssetCollection.localIdentifier;
           } error:nil];
   
       return [PHAssetCollection fetchAssetCollectionsWithLocalIdentifiers:@[collectionId] options:nil].firstObject;
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • //保存到相冊 UIGraphicsBeginImageContext(self.captureImv.bound...
    lixiaoshuai閱讀 447評論 0 0
  • 一. 最簡單的保存函數(shù) UIImage的函數(shù)來保存圖片較為簡單, 只需要一個(gè)函數(shù)一個(gè)方法就可以保存但是不能創(chuàng)建相冊...
    面糊閱讀 13,113評論 1 55
  • 1、通過CocoaPods安裝項(xiàng)目名稱項(xiàng)目信息 AFNetworking網(wǎng)絡(luò)請求組件 FMDB本地?cái)?shù)據(jù)庫組件 SD...
    陽明AI閱讀 16,205評論 3 119
  • 今天是2017年5月1日,從相親到結(jié)婚,大概半個(gè)月,堂弟就結(jié)婚了。 剛聽到喜訊那一刻,我是震驚且歡喜。母親打電話讓...
    幻影惜閱讀 517評論 3 0
  • 今天晚上你讀書,媽媽做千層,各自收獲,各自滿足。 今天你讀了精靈鼠小弟英文版,之前想讓你讀夏洛的網(wǎng)英文版的,結(jié)果是...
    萍萍淡淡閱讀 271評論 0 0

友情鏈接更多精彩內(nèi)容