C# 是否有专门用于JPG文件的内容,以便我可以复制

C# 是否有专门用于JPG文件的内容,以便我可以复制,c#,winforms,duplicates,photo,photo-gallery,C#,Winforms,Duplicates,Photo,Photo Gallery,我想制作一个WinForm C应用程序示例,用于在我的笔记本电脑上查找重复的照片。 我的问题是JPGphoto文件中是否有一些记录、标记、Exif数据或任何其他唯一的数据。 因此,我可以读取放入数据集中的数据并查找重复项。我只需比较属性,如果它们都匹配,则对内容进行散列并进行比较。我们可以说Exif数据是唯一的。此表为您提供了从Exif数据中获得的内容的良好简历: 查看此项目,确保代码将帮助您: 在这方面,有一个很好的答案来获取Exif数据: 如果您是针对框架的v3或更高版本进行编译,则可以使

我想制作一个WinForm C应用程序示例,用于在我的笔记本电脑上查找重复的照片。 我的问题是JPGphoto文件中是否有一些记录、标记、Exif数据或任何其他唯一的数据。
因此,我可以读取放入数据集中的数据并查找重复项。

我只需比较属性,如果它们都匹配,则对内容进行散列并进行比较。

我们可以说Exif数据是唯一的。此表为您提供了从Exif数据中获得的内容的良好简历:

查看此项目,确保代码将帮助您:

在这方面,有一个很好的答案来获取Exif数据:

如果您是针对框架的v3或更高版本进行编译,则可以使用BitmapSource类加载图像,该类通过metadata属性公开EXIF元数据


不过,我会比较姓名和日期,这就足够了。

你可以逐字节阅读图片并进行比较。如果不匹配,停止阅读

像这样的。这很模糊,但你会明白的

while (match && !end)
{
    b1 = getnexctbytefromfilefirstfile();
    b2 = getnextbytefromfilesecondfile();

    if(b1 != b2)
    {
        match = false;
    }

    if(b1 == null || b2 == null)
    {
        end = true;
    }
}

为什么不对文件使用校验和?为已扫描的所有文件创建一个哈希表,并将校验和作为键

如果要进行哈希处理,请查看。

文件的属性?即使文件在不同的时间间隔从SD复制,它们是否相同取决于您使用的程序,但Windows会保留日期时间。