1. Ürünler
  2.   Aspose.PSD
  3.   Aspose.PSD FOSS for .NET

.NET için Aspose.PSD FOSS

Açık kaynaklı .NET kütüphanesi, PSD/PSB dosyalarını yükleme, inceleme ve kaydetme için katman meta verisi erişimi sağlar. MIT lisanslı, Adobe Photoshop gerekmez.

PSD/PSB Dosyaları için Açık Kaynak .NET Kütüphanesi

Aspose.PSD FOSS for .NET ücretsiz, MIT lisanslı, saf C# kütüphanesidir; Adobe Photoshop PSD ve PSB dosyalarını Adobe Photoshop veya herhangi bir tescilli çalışma zamanına ihtiyaç duymadan yüklemek, incelemek ve kaydetmek için kullanılır. PsdImage ve Layer etrafında odaklanan hafif, bağımsız bir API sunar, .NET geliştiricilere bir PSD belgesinin yapısına derleme gerektiren yerel bağımlılık olmadan programatik erişim sağlar. Kütüphane, bir PSD/PSB dosyasının boyutlarını, renk modunu, bit derinliğini ve sıkıştırma yöntemini okur ve her katmanı PsdImage.Layers aracılığıyla ortaya çıkar: her Layer adını, sınırlarını, opaklığını, görünürlüğünü ve karıştırma modu anahtarını (BlendMode) rapor eder, daha düşük seviyeli kanal bilgileri (ChannelInformation) ve maske verileri (LayerMaskData) ile birlikte. Katman meta verilerinin bir alt kümesi — ad, sınırlar (Left/Top/Right/Bottom) ve karıştırma modu — yerinde değiştirilebilir ve PsdImage.Save() ile diske geri kaydedilebilir; diğer tüm öğeler bu FOSS derlemesinde tasarım gereği sadece okunur. Aspose.PSD FOSS for .NET MIT lisanslıdır. Şunu kurun dotnet add package Aspose.PSD.FOSS — kütüphane sıfır üçüncü taraf yerel bağımlılığa sahiptir, yalnızca .NET BCL. Kurumsal ürün ailesi için, Aspose.PSD — Enterprise Product Family adresine bakın.

PSD/PSB Dosyalarını Yükle ve İncele

  • Image.Load(filePath) veya Image.Load(stream) bir dosya açar ve bir Image döndürür, PSD’ye özgü erişim için PsdImage‘e dönüştürülür
  • PsdImage.Width, Height ve Size tuval boyutlarını rapor eder
  • PsdImage.ColorMode (ColorModes), BitsPerChannel ve Compression (CompressionMethod) piksel verisinin nasıl kodlandığını açıklar
  • PsdImage.Version (PsdVersion) standart PSD ile büyük belge PSB varyantını ayırır

Tasarım Dosyalarını Doğrula ve Katalogla

  • Tasarım dosyalarının bir topluluğunu aşağı akış sürecine vermeden önce doğrulayın
  • PSD/PSB boyutları ve renk modları için hafif bir varlık kataloğu oluşturun
  • Standart PSD’den farklı bir işlem gerektiren PSB (large-document) dosyalarını tespit edin

Katmanlarla Çalışma

  • PsdImage.Layers belgedeki sırayla her Layerı döndürür; PsdImage.ActiveLayer hangisinin aktif olduğunu rapor eder
  • Her Layer, Name, Bounds, Opacity, IsVisible ve BlendModeKey (BlendMode) özelliklerini gösterir
  • Layer.ChannelInformation ve Layer.LayerMaskData, daha derin inceleme için kanal ve maske meta verilerini ortaya çıkarır
  • Layer.ChannelsCount, bir katmanın kaç görüntü kanalı taşıdığını rapor eder

Denetim Katmanı Yapısı

  • Photoshop’u açmadan bir PSD’nin katman yapısını denetle
  • Tasarım incelemesi için katman adları, görünürlük ve karışım modlarının raporunu oluştur
  • Önceki düzenlemelerden kalan gizli veya sıfır opaklıktaki katmanları belirle

Temel Katman Üst Verisini Düzenle

  • Layer.Name, Layer.Left/Top/Right/Bottom ve Layer.BlendModeKey doğrudan ayarlanabilir
  • PsdImage.Save(filePath) veya PsdImage.Save(stream) değiştirilmiş belgeyi diske kaydeder
  • Image.Load ile kaydedilmiş bir dosyanın yeniden yüklenmesi, düzenlemelerin doğru bir şekilde çift yönlü olduğunu doğrular
  • Yukarıda listelenmeyen özellikler (kanal bilgisi, maske verileri, karıştırma aralıkları, görüntü kaynakları) ayarlandığında NotSupportedException fırlatır — bu yapı sadece meta veri düzenlemelerini destekler, tam yeniden yazarak desteklemez

Hafif, Betiklenebilir Düzenlemeler

  • Katmanları programlı olarak yeniden adlandırın, otomatik dosya-organizasyon boru hattının bir parçası olarak
  • Bir tasarım aracı olmadan bir katmanın sınırlama kutusunu yeniden konumlandırın veya yeniden boyutlandırın
  • Tutarlılık için birçok dosya arasında harman modlarını toplu olarak güncelleyin

Kaynak Bloklarını ve Belge Durumunu İnceleyin

  • PsdImage.ImageResources ve GlobalLayerResources, ResourceBlock/LayerResource koleksiyonlarını ortaya çıkarır
  • PsdImage.GlobalLayerMaskInfo, belge genelinde katman maskesi bilgisini raporlar
  • PsdImage.IsFlatten ve HasTransparencyData, belge düzeyindeki bayrakları raporlar
  • PsdLoadException ve PsdSaveException, yükleme/kaydetme hatalarını açık mesajlarla gösterir

Tanıla ve İncele

  • Belirli bir PSD dosyasının neden yüklenemediğini, genel bir hata yerine türlendirilmiş bir istisna ile teşhis edin
  • Bir dosyanın daha fazla işleme alınmadan önce düzleştirilmiş biçimde kaydedilip kaydedilmediğini kontrol edin
  • Gömülü kaynak bloklarını format düzeyinde üst veriler için inceleyin

PSD Dosyasını Yükle ve Katmanlarını İncele

Bir dosyayı Image.Load ile yükleyin ve sonucu PSD’e özgü üyeler için PsdImage tipine dönüştürün.

using var image = (PsdImage)Image.Load("test.psd");
Console.WriteLine($"Width: {image.Width}, Channels: {image.ChannelsCount}, Layers: {image.Layers.Length}");
Layer layer = image.Layers[0];
Console.WriteLine($"Bounds: {layer.Bounds}, BlendMode: {layer.BlendModeKey}, Opacity: {layer.Opacity}, Visible: {layer.IsVisible}");

Katman Meta Verilerini Düzenle ve Kaydet

Katman adı, sınırları ve harmanlama modu yerinde değiştirilebilir ve diske geri kaydedilebilir.

using (var image = (PsdImage)Image.Load("test.psd"))
{
    image.Layers[0].Name = "Renamed layer";
    image.Layers[0].Left = 10;
    image.Layers[0].Top = 20;
    image.Layers[0].Right = 40;
    image.Layers[0].Bottom = 60;
    image.Layers[0].BlendModeKey = BlendMode.Multiply;
    image.Save("edited.psd");
}

using var reloaded = (PsdImage)Image.Load("edited.psd");
Console.WriteLine($"Name: {reloaded.Layers[0].Name}, BlendMode: {reloaded.Layers[0].BlendModeKey}");

Kanal Bilgilerini Oku (Salt Okunur)

Kanal bilgileri okunabilir ancak yeniden atanamaz — ayarlamaya çalışmak NotSupportedException hatası fırlatır.

using var image = (PsdImage)Image.Load("test.psd");
Layer layer = image.Layers[0];
ChannelInformation[] channelInformation = layer.ChannelInformation;
Console.WriteLine($"Channel count: {layer.ChannelsCount}, First channel length: `NotSupportedException`");
// layer.ChannelInformation = channelInformation; // throws NotSupportedException

Sıkça Sorulan Sorular

Lisanslama modeli nedir?

Aspose.PSD FOSS for .NET MIT lisanslıdır. MIT lisansının şartları kapsamında, ticari ürünler dahil olmak üzere, onu kullanabilir, değiştirebilir ve yeniden dağıtabilirsiniz.

Nasıl Aspose.PSD FOSS for .NET kurarım?

Yukarıdaki kurulum bölümüne bakın, geçerli kurulum komutu için.

Hangi formatları Aspose.PSD FOSS for .NET okuyabilir ve yazabilir?

PSD ve PSB (Photoshop büyük belge) dosyalarını yükler ve kaydeder. PNG veya JPEG gibi diğer raster formatlarına piksel verisini render etmez veya dışa aktarmaz.

Ana giriş noktası sınıfı nedir?

PsdImage (Image sınıfının bir alt sınıfı). Bir belgeyi PsdImage.Load ile yükleyin, ardından Layers koleksiyonunu ve başlık özelliklerini okuyun.

Katman meta verilerini değiştirebilir miyim?

Evet — Layer birkaç özelliğe, örneğin görünürlük ve isim gibi, çalışan bir ayarlayıcı sunar ve PsdImage.Layers kendisi koleksiyonu değiştirmek için çalışan bir ayarlayıcıya sahiptir. Birkaç belirli özellik (kanal bilgisi, maske verileri, karışım aralıkları ve bazı belge- düzeyi kaynaklar) bu FOSS derlemesinde yalnızca okunabilir ve ayarlandığında NotSupportedException fırlatır.

  

Destek ve Öğrenme Kaynakları

 Türkçe