人
我使用以下代码从照片中获取图片网址。
int *nums;
const int datacount = 10000;
nums = malloc(sizeof(int) * datacount);
if (!nums) {
perror("Error allocating memory");
abort();
}
memset(nums, 0, sizeof(int)*datacount);
int cnt = 0;
char line[64];
while ((fgets(line, sizeof line, stdin) != NULL) && (line[0] !='\n') ) {
if (sscanf(line, "%d", &nums[cnt]))
{
cnt++;
fflush(stdout);
}
}
通过使用此URL密钥,我想从照片中获取图像。我已搜索并找到下面的代码。但它仍无法正常工作。
1
6
5
4
2
3
8
7
\n
它返回nil.So请帮助我。如何使用URL密钥获取图像。
先谢谢..
答案 0 :(得分:0)
在getImage(assetUrl: URL) -> UIImage?
方法中,您正在使用
let asset = PHAsset.fetchAssets(withALAssetURLs: [assetUrl], options: nil)
此处assetUrl
是您在使用AssetsLibrary时应该从中获取的网址。从iOS 9.0开始,不推荐使用此库。我们必须使用照片库。
顺便说一句,您已经在getAllImageURLs()
方法中获取了所有图像(数据)。只需转换该方法即可获取所有图像并根据需要处理这些图像。您可以使用以下方法获取所有图像。
func getAllImages() -> [UIImage]?
{
let imgManager = PHImageManager.default()
let requestOptions = PHImageRequestOptions()
requestOptions.isSynchronous = true
let fetchOptions = PHFetchOptions()
fetchOptions.sortDescriptors = [NSSortDescriptor(key:"creationDate", ascending: true)]
let fetchResult = PHAsset.fetchAssets(with: PHAssetMediaType.image, options: fetchOptions)
var allImages = [UIImage]()
for index in 0..<fetchResult.count
{
let asset = fetchResult.object(at: index) as PHAsset
imgManager.requestImage(for: asset, targetSize: UIScreen.main.bounds.size, contentMode: .aspectFill, options: requestOptions, resultHandler: { (uiimage, info) in
allImages.append(uiimage!)
})
}
return allImages
}
注意:根据您的要求调整此方法。