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