我找到了一个GitHub问题,展示了如何通过将图像的ExifProfile设置为null来删除图像的Exif数据:
SixLabors.ImageSharp.Image image = Image.Load(imagePath);
//remove exif
image.Metadata.ExifProfile = null;
//resize
image.Mutate(x => x.Resize(width, height));
//save
SixLabors.ImageSharp.Formats.Jpeg.JpegEncoder encoder = new SixLabors.ImageSharp.Formats.Jpeg.JpegEncoder();
encoder.Quality = 30;
image.Save(thumbnailPath, encoder);
但是我尝试了这种方法,似乎并没有起作用——保存的JPEG文件大小相同,并且在我的操作系统中检查时,它们显示了所有相机的EXIF设置。当我对另一个实用程序创建的图像进行相同的检查时,操作系统不会显示所有的EXIF设置……所以我倾向于认为这个ImageSharp技术没有正确地清除它们。
有什么想法吗?