我发现了一个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);...but --它似乎不适用于我--保存下来的jpeg的大小是一样的,当我的操作系统检查我时,他们给我显示了所有相机的EXIF设置。当我对从另一个实用程序创建的图像进行同样的检查时,OS并没有向我展示所有的EXIF settings...so,我倾向于说这种ImageSharp技术没有正确地擦除它们。
有什么想法吗?
发布于 2022-02-13 23:28:58
原来有两种不同类型的元数据- EXIF和XMP。有必要将这两个对象设置为null,以将它们全部删除:
image.Metadata.ExifProfile = null;
image.Metadata.XmpProfile = null;https://stackoverflow.com/questions/71095620
复制相似问题