您好,登錄后才能下訂單哦!
需要導入這個庫
#import <AssetsLibrary/AssetsLibrary.h>
//ALAssetsLibrary這個類是系統的資源庫,可以用它來訪問圖片,視頻,資源等功能
//返回照片數據授權該應用程序狀態
int author = [ALAssetsLibrary authorizationStatus];
//typedef NS_ENUM(NSInteger, ALAuthorizationStatus) {
//ALAuthorizationStatusNotDetermined 0
//用戶尚未選擇關于這個應用程序
//ALAuthorizationStatusRestricted 1
//這個應用程序未被授權訪問圖片數據。
//ALAuthorizationStatusDenied 2
//用戶已經明確否認了這個應用程序訪問圖片數據。
// ALAuthorizationStatusAuthorized 3
// 授權此應用程序訪問數據照片。
//禁用檢索和共享照片流的通知
[ALAssetsLibrary disableSharedPhotoStreamsSupport];
ALAssetsLibrary *assetsLibrary = [[ALAssetsLibrary alloc] init];
//創建一個相冊到相冊資源中,并通過block返回創建成功的相冊ALAssetsGroup
//addAssetsGroupAlbumWithName相冊的名字
[assetsLibrary addAssetsGroupAlbumWithName:@"photo" resultBlock:^(ALAssetsGroup *group) {
//ALAssetsGroupPropertyName; //查看相冊存儲的名字
//ALAssetsGroupPropertyType; //查看相冊存儲的類型
//ALAssetsGroupPropertyPersistentID; //查看相冊的存儲的ID
//ALAssetsGroupPropertyURLNSURL; //查看相冊的存儲的地址
NSLog(@"%@",[group valueForProperty:ALAssetsGroupPropertyName]);
} failureBlock:^(NSError *error) {
NSLog(@"%@",error);
}];
//獲取相冊資源中相片或視頻的基本信息 assetForURL 圖片或視頻的地址
[assetsLibrary assetForURL:nil resultBlock:^(ALAsset *asset) {
NSLog(@"%@",asset);
//ALAssetPropertyType 類型
//ALAssetPropertyLocation 查看資源的地理位置信息
//ALAssetPropertyDuration 如果資源是視頻,查看視頻的時長
//ALAssetPropertyOrientation 資源的旋轉方向
//ALAssetPropertyDate 時間
//ALAssetPropertyRepresentations 描述信息
//ALAssetPropertyURLs 路徑
//ALAssetPropertyAssetURL 資源的地址
//ALAssetTypePhoto 照片
//ALAssetTypeVideo 視頻
//ALAssetTypeUnknown 不知道類型
} failureBlock:^(NSError *error) {
NSLog(@"%@",error);
}];
//通過url地址獲取相冊資源中的一個相冊
[assetsLibrary groupForURL:nil resultBlock:^(ALAssetsGroup *group) {
NSLog(@"%@",group);
//ALAssetsGroupPropertyName 名字
//ALAssetsGroupPropertyType 類型
//ALAssetsGroupPropertyPersistentID 存儲的id
//ALAssetsGroupPropertyURL 存儲的地址
} failureBlock:^(NSError *error) {
NSLog(@"%@",error);
}];
//保存圖片到系統默認的相冊中,使用CGImageRef的形式,并返回照片的url地址
[assetsLibrary writeImageToSavedPhotosAlbum:nil metadata:nil completionBlock:^(NSURL *assetURL, NSError *error) {
}];
//保存圖片到系統默認的相冊中,使用NSData的形式,并返回照片的url地址
[assetsLibrary writeImageDataToSavedPhotosAlbum:nil metadata:nil completionBlock:^(NSURL *assetURL, NSError *error) {
}];
//保存圖片到系統默認的相冊中,使用NSURL的形式,并返回照片的url地址
[assetsLibrary writeVideoAtPathToSavedPhotosAlbum:nil completionBlock:^(NSURL *assetURL, NSError *error) {
}];
//ALAssetOrientationUp default orientation
//ALAssetOrientationDown 180 deg rotation
//ALAssetOrientationLeft 90 deg CCW
//ALAssetOrientationRight 90 deg CW
//ALAssetOrientationUpMirrored as above but p_w_picpath mirrored along other axis. horizontal flip
//ALAssetOrientationDownMirrored horizontal flip
//ALAssetOrientationLeftMirrored vertical flip
//ALAssetOrientationRightMirrored vertical flip
//保存圖片到系統默認的相冊中,使用CGImageRef的形式和圖片的方向,并返回照片的url地址
[assetsLibrary writeImageToSavedPhotosAlbum:nil orientation:ALAssetOrientationUp completionBlock:^(NSURL *assetURL, NSError *error) {
}];
//ALAssetsGroupLibrary 資源
//ALAssetsGroupAlbum 所有專輯從iTunes或同步到設備上。
//ALAssetsGroupEvent iTunes同步的事件
//ALAssetsGroupFaces iTunes同步的專輯
//ALAssetsGroupSavedPhotos 保存的照片專輯。
//ALAssetsGroupPhotoStream 所有的圖片的組
//ALAssetsGroupAll 所有的圖片
//獲取相冊圖片
[assetsLibrary enumerateGroupsWithTypes:ALAssetsGroupAll usingBlock:^(ALAssetsGroup *group, BOOL *stop) {
if(group){
[group enumerateAssetsUsingBlock:^(ALAsset *result, NSUInteger index, BOOL *stop) {
if(result){
//獲取資源圖片的詳細資源信息
ALAssetRepresentation *representation =[result defaultRepresentation];
[_libaryPotoArry addObject:[UIImage p_w_picpathWithCGImage:representation.fullResolutionImage]];
//圖片的長寬
CGSize dimension = [representation dimensions];
//圖片的高清圖
[representation fullResolutionImage];
//圖片的全屏圖
[representation fullScreenImage];
//圖片的名字
NSString* filename = [representation filename];
//縮放倍數
[representation scale];
//容量大小
[representation size];
//原數據
[representation metadata];
//旋轉方向
[representation orientation];
//資源圖片url地址,該地址和ALAsset通過ALAssetPropertyAssetURL獲取的url地址是一樣的
NSURL* url = [representation url];
//資源圖片uti,唯一標示符
NSLog(@"uti:%@",[representation UTI]);
}
}];
}
} failureBlock:^(NSError *error) {
NSLog(@"%@",error);
}];
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。