如果图像已存在,请检查PhotoLibrary

时间:2014-07-14 12:13:50

标签: ios image

我正在创建应用程序以将图像从网络保存到照片库。现在我想在每次将图像保存到PhotoLibrary之前检查图像是否已经存在?

我获取存储在照片库中的图像的名称,但该名称与原始名称不同,因此我不知道如何将当前图像与现有图像进行比较! 请帮帮我!

   ALAssetsLibrary *Library=[[ALAssetsLibrary alloc]init];

   NSMutableArray *arr_ImagesUrl=[[NSMutableArray alloc]init];

   [Library enumerateGroupsWithTypes:ALAssetsGroupSavedPhotos usingBlock:^(ALAssetsGroup *Group,BOOL *stop){

    [Group enumerateAssetsUsingBlock:^(ALAsset *asset,NSUInteger index,BOOL *stop)

     {
         NSLog(@"%@",[[asset defaultRepresentation]filename]);
     }];
} failureBlock:^(NSError *error){NSLog(@"%@",error.description);}];

1 个答案:

答案 0 :(得分:0)

据我所知,基本上在IOS文档中没有这样的API。

您可以执行的操作(与您最初想要的不完全相同)是,在您的应用程序中,为用户在整个应用程序生命周期中选择的每个图像添加单独的值(*)。根据这一系列信息,您可以判断新选择是否与前一个选择相同。但是,你仍然不能为完整的PhotoLibrary做到这一点。

(*)这是关于SO的有用线程,其涉及检测图像相似性和/或创建描述图像并且可用于稍后比较图像的值(散列)。 我最喜欢的是phash

https://softwareengineering.stackexchange.com/questions/92830/how-to-know-if-two-images-are-the-same

或看到这个: Compare two images to check if they are same