C# kullanarak Görsellerden Meta Verileri Çıkarın

Metadata biçiminde saklanan yükseklik, genişlik, marka, model vb. görüntü ayrıntılarını programlı olarak ekleyebilir, düzenleyebilir, kaldırabilir veya çıkarabilirsiniz. Bir C# geliştiricisi olarak, görüntülerin meta veri bilgilerini bulutta programlı olarak kolayca çıkarabilir ve işleyebilirsiniz. Bu makalede, C# dilinde bir REST API kullanarak görüntülerin meta verilerini nasıl ayıklayacağınızı ve değiştireceğinizi öğreneceksiniz.

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

Belge Meta Verileri Manipülasyonu REST API ve .NET SDK

JPEG resimlerin meta verilerini değiştirmek için .NET SDK of GroupDocs.Metadata Cloud API’sini kullanacağım. Belgelere ve görüntü dosyası biçimlerine meta veri özellikleri eklemenizi, düzenlemenizi, almanızı ve kaldırmanızı sağlar. Yalnızca arama kriterlerini tanımlamanız gerekir ve meta veri Cloud REST API, desteklenen dosya biçimleri içinde belirtilen meta veri işlemlerini halleder. Ayrıca, Cloud API için belge meta veri işleme aile üyeleri olarak Java SDK sağlar.

GroupDocs.Metadata’yı NuGet Paket Yöneticisinden veya Paket Yöneticisi konsolunda aşağıdaki komutu kullanarak Visual Studio projenize yükleyebilirsiniz:

Install-Package GroupDocs.Metadata-Cloud

Lütfen adımları ve mevcut kod örneklerini izlemeye başlamadan önce gösterge tablosundan İstemci Kimliğinizi ve İstemci Sırrınızı alın. Müşteri Kimliğinizi ve Sırrınızı aldıktan sonra, kodu aşağıda gösterildiği gibi ekleyin:

string clientID = "112f0f38-9dae-42d5-b4fc-cc84ae644972";
string clientSecret = "16ad3fe0bdc39c910f57d2fd48a5d618";
string myStorage = "";

Configuration configuration = new Configuration(clientID, clientSecret);
configuration.ApiBaseUrl = "https://api.groupdocs.cloud";

C# dilinde bir REST API kullanarak Görüntülere Meta Veri Ekleme

Aşağıda verilen basit adımları izleyerek resimlere meta veri ekleyebilirsiniz:

Resmi Yükle

Öncelikle, aşağıda verilen kod örneğini kullanarak JPEG dosyasını Buluta yükleyin:

// api başlatma
FileApi fileApi = new FileApi(configuration);
string path = @"C:\Files";

var file = Directory.GetFiles(path, "input.jpg", SearchOption.AllDirectories).FirstOrDefault();
if (file.Length != 0)
{
    var relativeFilePath = file.Replace(path, string.Empty).Trim(Path.DirectorySeparatorChar);

    var fileStream = File.Open(file, FileMode.Open);

    fileApi.UploadFile(new UploadFileRequest(relativeFilePath, fileStream, myStorage));
    fileStream.Close();
}

Sonuç olarak, yüklenen JPEG görüntü dosyası, bulut üzerindeki kontrol panelinizin dosyalar bölümünde mevcut olacaktır.

C# kullanarak Görüntüye Meta Veri Ekleme

Aşağıda verilen adımları izleyerek programlı olarak JPEG görüntüsüne meta veri ekleyebilirsiniz.

  • Bir MetadataApi örneği oluşturun
  • FileInfo modelinde JPEG görüntü dosyası yolunu ayarlayın
  • AddOptions’ı tanımlayın
  • AddProperty modelini kullanarak özellik için Değer ve SearchCriteria ayarlayın
  • AddOptions ile AddRequest oluşturun
  • MetadataApi.Add() yöntemini çağırarak sonuçları alın

Aşağıdaki kod örneği, bir REST API kullanarak bir JPEG görüntüsüne meta verilerin nasıl ekleneceğini gösterir.

// api başlatma
var apiInstance = new MetadataApi(configuration);

// giriş görüntü yolu
var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
{
    FilePath = "input.jpg"
};

// meta veri ekleme seçeneklerini tanımlayın
var options = new AddOptions
{
    FileInfo = fileInfo,
    Properties = new List<AddProperty>
    {
        new AddProperty
        {
            Value = "All rights reserved.",
            Type = "String",
            SearchCriteria = new SearchCriteria
            {
                TagOptions = new TagOptions
                {
                    PossibleName = "Copyright"
                }
            },
        }
    }
};

// istek ekle
var request = new AddRequest(options);
var response = apiInstance.Add(request);
C# dilinde REST API kullanarak Görüntülerden Meta Veri Ekleme

C# dilinde bir REST API kullanarak Görüntülerden Meta Veri Ekleme

Resmi İndir

Yukarıdaki kod örnekleri, güncellenmiş JPEG dosyasını buluta kaydeder ve aşağıdaki kod örneği kullanılarak indirilebilir:

// api başlatma
var fileApi = new FileApi(configuration);

// Varsayılan yol
var file = "metadata\\add_metadata\\input_jpg\\input.jpg";

// indirme isteği
var downloadRequest = new DownloadFileRequest(file, myStorage);

Stream downloadResponse = fileApi.DownloadFile(downloadRequest);
using (var fileStream = File.Create("C:\\Files\\input.jpg"))
{
    downloadResponse.Seek(0, SeekOrigin.Begin);
    downloadResponse.CopyTo(fileStream);
}

C# kullanarak Resmin Meta Verilerini Güncelleme

JPEG görüntüsünün meta verilerini aşağıda verilen adımları izleyerek programlı olarak güncelleyebilirsiniz.

  • Bir MetadataApi örneği oluşturun
  • FileInfo modelinde JPEG görüntü dosyası yolunu ayarlayın
  • SetOptions’ı tanımlayın
  • SetProperty modelini kullanarak özellik için NewValue ve SearchCriteria ayarlayın
  • SetOptions ile SetRequest oluşturun
  • MetadataApi.Set() yöntemini çağırarak sonuçları alın

Aşağıdaki kod örneği, bir REST API kullanarak bir JPEG görüntüsünün meta verilerinin nasıl ayarlanacağını gösterir. Dosya yüklemek ve indirmek için lütfen daha önce belirtilen adımları izleyin.

// api başlatma
var apiInstance = new MetadataApi(configuration);

// giriş görüntü yolu
var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
{
    FilePath = "input.jpg"
};

// meta veri seti seçeneklerini tanımlayın
var options = new SetOptions
{
    FileInfo = fileInfo,
    Properties = new List<SetProperty>
    {
        new SetProperty
        {
            NewValue = "Copyright 2021",
            SearchCriteria = new SearchCriteria
            {
                TagOptions = new TagOptions
                {
                    PossibleName = "Copyright"
                }
            },
            Type = "String"
        }
    }
};

// güncelleme isteği
var request = new SetRequest(options);
var response = apiInstance.Set(request);
C# dilinde bir REST API kullanarak Görsellerden Meta Verileri Güncelleyin

C# dilinde bir REST API kullanarak Görsellerden Meta Verileri Güncelleyin

C# kullanarak Görüntüden Meta Verileri Kaldırma

Aşağıda verilen adımları izleyerek programlı olarak JPEG görüntüsünden meta verileri kaldırabilirsiniz.

  • Bir MetadataApi örneği oluşturun
  • FileInfo modelinde JPEG görüntü dosyası yolunu ayarlayın
  • RemoveOptions’ı tanımlayın
  • Arama kriterlerini belirleyin
  • RemoveOptions ile RemoveRequest oluşturun
  • MetadataApi.Remove() yöntemini çağırarak sonuçları alın

Aşağıdaki kod örneği, bir REST API kullanarak bir JPEG görüntüsünden meta verilerin nasıl kaldırılacağını gösterir. Dosya yüklemek ve indirmek için lütfen daha önce belirtilen adımları izleyin.

// api başlatma
var apiInstance = new MetadataApi(configuration);

// giriş görüntü yolu
var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
{
    FilePath = "input.jpg"
};

// meta veri kaldırma seçeneklerini tanımlayın
var options = new RemoveOptions
{
    FileInfo = fileInfo,
    SearchCriteria = new SearchCriteria
    {
        TagOptions = new TagOptions
        {
            PossibleName = "Copyright"
        }
    }
};

// isteği kaldır
var request = new RemoveRequest(options);
var response = apiInstance.Remove(request);
C# dilinde bir REST API kullanarak Meta Verileri Görüntülerden Kaldırma

C# dilinde bir REST API kullanarak Meta Verileri Görüntülerden Kaldırma

C# kullanarak Görüntüden Meta Verileri Çıkarın

Meta verileri, aşağıda verilen adımları izleyerek programlı olarak JPEG görüntüsünden çıkarabilirsiniz.

  • Bir MetadataApi örneği oluşturun
  • FileInfo modelinde JPEG görüntü dosyası yolunu ayarlayın
  • ExtractOptions’ı tanımlayın
  • ExtractOptions ile ExtractRequest oluşturun
  • MetadataApi.Extract() yöntemini çağırarak sonuçları alın

Aşağıdaki kod örneği, bir REST API kullanarak bir JPEG görüntüsünden meta verilerin nasıl çıkarılacağını gösterir. Bir dosya yüklemek için lütfen daha önce belirtilen adımları izleyin.

// api başlatma
var apiInstance = new MetadataApi(configuration);

// Kaynak dosyası
var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
{
    FilePath = "input.jpg"
};

// seçenekleri ayıkla
var options = new ExtractOptions
{
    FileInfo = fileInfo
};

// çıkarma isteği
var request = new ExtractRequest(options);
var response = apiInstance.Extract(request);

// çıkarılan meta veriler
if (response.MetadataTree.InnerPackages != null)
{
    var innerPackages = response.MetadataTree.InnerPackages;
   for (int i = 0; i < innerPackages.Count; i++)
    {
        Console.WriteLine($"\nPackage: {innerPackages[i].PackageName}");
        var packageProperties = innerPackages[i].PackageProperties;
       for (int j = 0; j < packageProperties.Count; j++)
        {
            Console.WriteLine(packageProperties[j].Name + " : " + packageProperties[j].Value);
        }
    }
}
Resim Meta Verileri

Resim Meta Verileri

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

Package: FileFormat
FileFormat : 9
MimeType : image/jpeg
ByteOrder : 1
Width : 480
Height : 360

Package: Xmp
http://ns.microsoft.com/photo/1.0/ :

Package: Exif
Exif.GpsIfd :
Exif.ExifIfd :
Make : Canon
Model : Canon PowerShot S40
Orientation : System.Int32[]
XResolution : System.Double[]
YResolution : System.Double[]
ResolutionUnit : System.Int32[]
DateTime : 2003:12:14 12:01:44
YCbCrPositioning : System.Int32[]
ExifIfd : System.Int64[]
Exif.Thumbnail : System.Byte[] 

Çevrimiçi Deneyin

Lütfen yukarıdaki API kullanılarak geliştirilen aşağıdaki JPEG Metadata manipülasyonu ücretsiz çevrimiçi aracını deneyin. https://products.groupdocs.app/metadata/jpeg

Çözüm

Bu makalede, buluttaki görüntülerden Meta Verileri nasıl ekleyeceğinizi, düzenleyeceğinizi, kaldıracağınızı ve ayıklayacağınızı öğrendiniz. Bu makalede ayrıca bir JPEG görüntü dosyasının programlı olarak buluta nasıl yükleneceği ve buluttan nasıl indirileceği açıklanmaktadır. Belgeleri kullanarak GroupDocs.Metadata Manipulation Cloud API hakkında daha fazla bilgi edinebilirsiniz. Ayrıca, API’lerimizi doğrudan tarayıcı aracılığıyla görselleştirmenize ve bunlarla etkileşimde bulunmanıza olanak tanıyan bir API Referansı bölümü de sağlıyoruz. Herhangi bir belirsizlik durumunda, lütfen forumda bizimle iletişime geçmekten çekinmeyin.

Ayrıca bakınız