C# kullanarak GIF'e Özel XMP Meta Verilerini Ekleme veya Kaldırma

Genişletilebilir Meta Veri Platformu (XMP) meta verileri XML biçimli metin olarak kodlanmıştır. Tanımlanan XMP veri modeli, herhangi bir meta veri özelliği kümesini ad/değer çifti biçiminde depolamak için kullanılabilir. Resimlerinize programlı olarak özel bir XMP meta veri paketi ekleyebilirsiniz. Bu makalede, C# kullanarak GIF’e özel XMP meta verilerini nasıl ekleyeceğinizi veya kaldıracağınızı öğreneceksiniz.

Bu makalede aşağıdaki konular tartışılmaktadır/kapsanmaktadır:

XMP Meta Verilerini Eklemek veya Kaldırmak için C# API’si

Özel XMP meta veri paketini eklemek veya kaldırmak için GroupDocs.Metadata for .NET API’sini kullanacağım. Belgelerden ve görüntü dosyası biçimlerinden meta veri özelliklerini eklemenizi, düzenlemenizi, almanızı ve kaldırmanızı sağlar. API, yerleşik, XMP, EXIF, IPTC, Görüntü Kaynağı Blokları, ID3 ve özel meta veri özellikleri gibi en önemli meta veri standartlarıyla çalışır. .NET platformunu hedefleyen herhangi bir geliştirme ortamında uygulamalar geliştirmek için kullanılabilir.

API’nin DLL dosyasını indirebilir veya NuGet kullanarak yükleyebilirsiniz.

Install-Package GroupDocs.Metadata

C# kullanarak GIF’e Özel XMP Meta Veri Paketi Ekleme

Aşağıda belirtilen basit adımları izleyerek, kullanıcı tanımlı özellikleri içeren tamamen özel bir XMP paketini kolayca oluşturabilir ve ekleyebilirsiniz:

  • Metadata sınıfının bir örneğini oluşturun
  • GIF görüntüsünün yolunu sağlayın
  • RootPackage’ı Alın as IXmp standard
  • XmpPackage sınıfının bir örneğini oluşturun
  • Paket Önekini ve NamespaceUri’yi sağlayın
  • Set yöntemini kullanarak Ad/Değer çiftindeki özellikleri ayarlayın
  • XmpPacketWrapper sınıfının bir örneğini oluşturun
  • AddPackage yöntemini çağırın ve oluşturulan XmpPackage’ı iletin
  • Oluşturulan XmpPacketWrapper’ı IXMp’ye atayın.XmpPackage
  • Çıktı dosyasını Metadata.Save yöntemini kullanarak kaydedin

Aşağıdaki kod örneği, C# kullanarak özel bir XMP meta veri paketinin nasıl oluşturulacağını ve GIF görüntüsüne ekleneceğini gösterir.

using (Metadata metadata = new Metadata(@"C:\Files\xmp.gif")) {

  IXmp root = (IXmp)metadata.GetRootPackage();
  XmpPacketWrapper packet = new XmpPacketWrapper();

  XmpPackage custom = new XmpPackage("gd", "https://groupdocs.com");
  custom.Set("gd:Copyright", "Copyright (C) 2021 GroupDocs. All Rights Reserved.");
  custom.Set("gd:CreationDate", DateTime.Now.ToString());
  custom.Set("gd:Company", XmpArray.From(new String[] { "Aspose", "GroupDocs" }, XmpArrayType.Ordered));

  packet.AddPackage(custom);
  root.XmpPackage = packet;
  metadata.Save(@"C:\Files\xmp_output.gif");
}

Yukarıdaki kod örneği, XMP meta veri paketini giriş görüntüsüne ekleyecektir. ExifTool, oluşturulan çıktı GIF görüntüsünden aşağıdaki meta verileri okur.

C# kullanarak GIF'e XMP Meta Veri Paketi ekleme

C# kullanarak GIF’e XMP Meta Veri Paketi ekleme

IXMP arayüzü, XMP meta veri paketini almak veya ayarlamak için XmpPackage{.brokenlink} özelliğini açığa çıkarır.

Metadata sınıfı, dosyadan çıkarılan tüm meta veri özelliklerine erişim sağlayan kök paketi almak için GetRootPackage yöntemini sağlar.

XmpPackage sınıfı, paketi tanımlamak için Prefix, NamespaceUri ve Keys gibi çeşitli özellikler sağlar. Bu sınıf aynı zamanda kullanıcı tanımlı meta veri özelliklerinin adını/değerini ayarlamak için Set yöntemlerini de sağlar.

XmpPacketWrapper sınıfı serileştirilmiş XMP paketini içerir. Bu sınıfın AddPackage yöntemi, tanımlanan özel paketin eklenmesine olanak sağlar.

Belgelerde “[XMP Meta Verileriyle Çalışmak23” hakkında daha fazla ayrıntı bulabilirsiniz.

C# kullanarak Özel XMP Paketi Meta Veri Özelliklerini Okuyun

Aşağıda belirtilen basit adımları izleyerek tüm özel XMP paketi kullanıcı tanımlı özelliklerini kolayca okuyabilirsiniz:

  • Metadata sınıfının bir örneğini oluşturun
  • GIF görüntüsünün yolunu belirtin
  • RootPackage’ı Alın as IXmp standard
  • [IXmp.XmpPackage.Packages] adresinden tüm paketleri tek tek alın24
  • Her paket için NamespaceUri ve Prefix’i alın
  • Özellik adını ve değerini almak için her paket Anahtarı için FindProperties‘i çağırın

Aşağıdaki kod örneği, özel XMP paketinde tanımlanan tüm özelliklerin C# kullanılarak nasıl okunacağını gösterir.

string file = @"C:\Files\xmp_output.gif";
using (Metadata metadata = new Metadata(file)) 
{
  IXmp root = (IXmp)metadata.GetRootPackage();

  if (root.XmpPackage != null)
  {
    foreach (var package in root.XmpPackage.Packages)
    {
      Console.WriteLine(package.NamespaceUri);
      Console.WriteLine(package.Prefix);

      foreach(var keys in package.Keys)
      {
        var property = package.FindProperties(p => p.Name == keys).FirstOrDefault();
        Console.WriteLine(property.Name + " : " + property.Value);
      }
    }
  }
}

Yukarıdaki kod örneği aşağıdaki çıktıyı üretecektir:

https://groupdocs.com
gd
gd:Copyright: Copyright (C) 2021 GroupDocs. All Rights Reserved.
gd:CreationDate: 04/05/2021 2:26:17 am
gd:Company: <rdf:Seq><rdf:li>Aspose</rdf:li><rdf:li>GroupDocs</rdf:li></rdf:Seq>

XmpPackage sınıfının FindProperties yöntemi, belirtilen yüklemi karşılayan meta veri özelliklerini yinelemeli olarak arar ve bulur.

C# kullanarak Özel XMP Paketini Kaldırma

Aşağıda belirtilen basit adımları izleyerek XMP paketini GIF görüntülerinden kaldırabilirsiniz:

Aşağıdaki kod örneği, C# kullanılarak XMP meta veri paketinin GIF görüntüsünden nasıl kaldırılacağını gösterir.

using (Metadata metadata = new Metadata(@"C:\Files\xmp_output.gif"))
{
  IXmp root = (IXmp)metadata.GetRootPackage();
  root.XmpPackage = null;
  metadata.Save(@"C:\Files\xmp_output_Removed.gif");
}

Yukarıdaki kod örneği, XMP meta veri paketini giriş görüntüsünden kaldıracaktır. ExifTool, oluşturulan çıktı GIF görüntüsünden aşağıdaki meta verileri okur.

C# kullanarak XMP Meta Veri Paketini GIF'ten kaldırın

C# kullanarak XMP Meta Veri Paketini GIF’ten kaldırın

Ücretsiz Lisans Alın

Ücretsiz bir geçici lisans talep ederek API’yi değerlendirme sınırlamaları olmadan deneyebilirsiniz.

Çözüm

Bu makalede, C# kullanarak GIF görüntülerine özel XMP paketi meta verilerini nasıl ekleyeceğinizi veya kaldıracağınızı öğrendiniz. Ayrıca C# kullanarak XMP paketi özelliklerini nasıl okuyacağınızı da öğrendiniz. Ayrıca, belgeleri kullanarak GroupDocs.Metadata for .NET API hakkında bilgi edinebilirsiniz. Herhangi bir belirsizlik durumunda lütfen forum üzerinden bizimle iletişime geçmekten çekinmeyin.

Ayrıca bakınız