gpt4 book ai didi

ios - 如何使用 PHPhotoLibrary 将图像导出到手机图库

转载 作者:行者123 更新时间:2023-12-01 18:07:09 30 4
gpt4 key购买 nike

要将图像导出到手机图库,我尝试使用 ALAssetsLibrary,但 Xcode 8.0 通知我该方法已弃用,我应该使用 PHPhotoLibrary。当我使用 ALAssetsLibrary 时,方法如下所示:

#import <AssetsLibrary/AssetsLibrary.h>
-(void)exportToGallery{
ALAssetsLibrary *assetsLib = [ALAssetsLibrary new];
[assetsLib writeImageToSavedPhotosAlbum:image
metadata:[image properties];
completionBlock:nil;
}

如何使用 PHPhotoLibrary 来达到同样的效果?

最佳答案

有一种方法可以做到这一点。

Objective C



导入照片框架
#import <Photos/Photos.h>

然后制作你的头像
UIImage * image = [UIImage imageNamed:@"DP.jpg"];

然后保存图像。图像将保存到 相机胶卷 .这将与 writeImageToSavedPhotosAlbum 相同的 ALAssetsLibrary
[[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{
[PHAssetChangeRequest creationRequestForAssetFromImage:image];
} completionHandler:^(BOOL success, NSError *error) {
if (success) {
NSLog(@"Image Saved");
}
else {
NSLog(@"error in saving image : %@",error);
}
}];

确保照片权限为 开启 .
另外如果你已经创建了Xcode 8的项目,那么你需要在 Info.plist中添加一个key
<key>NSPhotoLibraryUsageDescription</key>
<string>Use Photos</string>

您也可以使用 creationRequestForAssetFromImage方法不仅使用 UIImage 制作,还使用图像 URL。

这些是您可以从 使用的方法照片框架 .
+ (instancetype)creationRequestForAssetFromImage:(UIImage *)image;
+ (nullable instancetype)creationRequestForAssetFromImageAtFileURL:(NSURL *)fileURL;
+ (nullable instancetype)creationRequestForAssetFromVideoAtFileURL:(NSURL *)fileURL;

Swift 3.0


let image = UIImage(named: "DP.jpg")
PHPhotoLibrary.shared().performChanges({
PHAssetChangeRequest.creationRequestForAsset(from: image!)
}) { (success:Bool, error:Error?) in
if success {
print("Image Saved Successfully")
} else {
print("Error in saving:"+error.debugDescription)
}
}

的其他方法照片框架对于 Swift 是:
open class func creationRequestForAsset(from image: UIImage) -> Self
open class func creationRequestForAssetFromImage(atFileURL fileURL: URL) -> Self?
open class func creationRequestForAssetFromVideo(atFileURL fileURL: URL) -> Self?

关于ios - 如何使用 PHPhotoLibrary 将图像导出到手机图库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39834482/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com