Exif değerlerini okumak için Magick.NET kütüphanesini kullanıyorum. En yüksek performans için, bazı görüntü meta verileriyle çalışırken gerçek görüntü içeriğine ihtiyacım olmadığı için Ping
yöntemini kullanıyorum (bkz. this).Resimdeki mevcut exif profiline etiket değeri ekleyin
Fakat şimdi bu değer yoksa exif etiket değeri yazmam gerekiyor.
public static void Test()
{
var path = @"C:\image.jpg";
using (var image = new MagickImage())
{
image.Ping(path);
var profile = image.GetExifProfile();
var copyright = profile.Values.FirstOrDefault(x => x.Tag == ExifTag.Copyright);
if (copyright != null)
{
Trace.WriteLine("Copyright: " + copyright);
}
else
{
Trace.WriteLine("Write Copyright data");
profile.SetValue(ExifTag.Copyright, "Example text");
image.AddProfile(profile, true);
image.Write(path);
}
}
}
Ama bu kod değil EXIF yazılı etiket değeri: Ben bunu yapmaya çalışıyorum ne. (Bu answer gibi) dosyayı başka bir yol açarken başarıyla etiket değerini yazabilirsiniz:
var path = @"C:\image.jpg";
// Read image with content
using (var image = new MagickImage(path))
{
// image.Ping(path) - no more need
var profile = image.GetExifProfile();
...
}
Ama bu kod çözme tüm resim içeriği, ben 'içerik bağımsız' etiketleri değerlerini değiştirmek için buna ihtiyacı yoktur Copyright veya DateTimeDigitized.
soru şudur: nasıl düzenlemek bu exif etiketleri için yükleme bütün görüntü içeriksiz?
Tüm exif profilini (image.AddProfile(profile, true)
) yeniden yazmam gerekiyor mu, yoksa profili düzenlemenin bir yolu var mı?
Böyle bir durumdan şüpheleniyorum, ancak bilgileri doğruladığınız için teşekkür ederim. Bilgi JPEG özellikleri aldıktan sonra olası beklenmedik sonuçları ile jpeg içine manuel müdahale yerine belirli, iyi desteklenen bir araç kullanmak için kesinlikle daha iyi olduğu sonucuna vardım :) Son soru: eğer teknik olarak mümkün ise - bir gün göreceğiz şansız Magick.NET'te 'içerik yüklemeden exif düzenleme' özelliği var mı? – Sam
Bu soruyu cevaplamak için cevabı güncelledim. – dlemstra
Bu özellik düşündüğüm kadar kolay uygulanmıyor gibi görünüyor, bu yüzden exif düzenlemesini bir süre daha artırmak için başka bir yol bulacağız. Ama gelecekte bu özelliği görmekten mutluluk duyacağız :) Neyse, cevaplarınız için ve Magick.NET için teşekkürler! – Sam