簡體   English   中英

如何使用 ImageSharp 清除圖像的 EXIF 數據?

[英]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 技術沒有正確清理它們。

任何的想法?

https://github.com/SixLabors/ImageSharp/issues/400

原來有兩種不同類型的元數據 - EXIF 和 XMP。 有必要將兩個對象都設置為 null 以將它們全部刪除:

image.Metadata.ExifProfile = null;
image.Metadata.XmpProfile = null;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM