[英]How do I clear an Image's EXIF data with ImageSharp?
我發現了一個 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 技術沒有正確清理它們。
任何的想法?
原來有兩種不同類型的元數據 - EXIF 和 XMP。 有必要將兩個對象都設置為 null 以將它們全部刪除:
image.Metadata.ExifProfile = null;
image.Metadata.XmpProfile = null;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.