ALAssetsLibraryを使って、フォトライブラリからオリジナルの画像データを取得する。

こんにちは、JAGA(ja_gaimopotato)です。
カメラアプリを作るときに、フォトライブラリの画像にアクセスすることがありました。
オリジナルの画像データを取得する場合は、ALAssetsLibraryから画像のURLを指定して取得することが、基本的な手法になります。

こうやって使う

NSURL *imageURL = 画像のURL;  
ALAssetsLibrary *library = [[ALAssetsLibrary alloc]init];

   [library assetForURL:imageURL resultBlock:^(ALAsset *asset) {

       ALAssetRepresentation* representation = [asset defaultRepresentation];


     UIImageOrientation orientation = UIImageOrientationUp;
     NSNumber* orientationValue = [asset valueForProperty:@"ALAssetPropertyOrientation"];

      if (orientationValue) {
         orientation = [orientationValue intValue];
      }

        CGFloat scale  = 1;
        UIImage* image = [UIImage imageWithCGImage:[representation fullResolutionImage] scale:scale orientation:orientation];


 } failureBlock:^(NSError *error) {
       NSLog(@"%@",error);
 }];

このコードは、こちらを参考にしました。
UIImage from ALAsset: getting the right orientation

ALAssetsLibraryを使うコードは大体Blocksを使います。

ちなみにALAssetからは、サムネイルを取得することもできます。

これからも更新を続けていきますので、Feedlyへの登録をお願いします!

follow us in feedly

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です