Çekirdek API

Temel API

PsdImage, PSD/PSB belgelerini yüklemek, incelemek ve kaydetmek için giriş noktasıdır. Soyut Image temel sınıfını genişletir; bu sınıf Width, Height, Bounds, Load(), Save() ve Dispose() öğelerini bildirir.


Belgeleri Yükleme ve Kaydetme

Image.Load(), bir dosya yolu ya da Stream kabul eder ve bir Image döndürür; sonucun PsdImage tipine dönüştürülmesi belgenin geri kalan yüzeyine erişim sağlar. PsdImage.Save(), belgeyi bir dosya yolu ya da akısa geri yazar.

using var image = (PsdImage)Image.Load(inputPath);
// ... inspect or edit ...
image.Save(outputPath);

Belge Başlığı Özellikleri

PsdImage, ayrıştırılmış başlığı tiplenmiş özellikler olarak sunar: Width, Height, BitsPerChannel, ColorMode, Version, Compression, Size, ve IsFlatten.

Console.WriteLine($"Width: {image.Width}, Height: {image.Height}");
Console.WriteLine($"ColorMode: {image.ColorMode}, Version: {image.Version}");
Console.WriteLine($"Compression: {image.Compression}, IsFlatten: {image.IsFlatten}");

Görsel Kaynakları

PsdImage.ImageResources, ayrıştırılmış ResourceBlock[] dizisini döndürür. Bu FOSS sürümünde, ImageResources, GlobalLayerResources, ActiveLayer ve HasTransparencyData okunabilir ancak yeniden atanamaz — ayarlayıcıları NotSupportedException hatası fırlatır.

foreach (ResourceBlock resource in image.ImageResources)
{
    Console.WriteLine($"Resource {resource.ID}: {resource.Name} ({resource.DataSize} bytes)");
}

İpuçları ve En İyi Uygulamalar

  • Her zaman Image.Load() sonucunu PsdImage tipine dönüştürerek PSD’ye özgü üyelerine erişin.
  • Dispose() değerindeki nesneleri bir using ifadesiyle sarmalayın; PsdImage IDisposable‘yi uygular.
  • ImageResources, GlobalLayerResources, ActiveLayer ve HasTransparencyData‘ü bir setter ortaya çıksa bile salt okunur olarak ele alın.
  • image.Layers.Length‘i image.Layers‘e indekslemeden önce kontrol edin — düzleştirilmiş bir belge sıfır katmana sahip olabilir.

Yaygın Sorunlar

SorunNedenDüzeltme
NotSupportedException ImageResources ayarlanırkenBu özellik, bir ayarlayıcı bulunmasına rağmen FOSS sürümünde yalnızca okunabilir.Değeri okuyun; yeniden atamaya çalışmayın.
Düzleştirilmiş bir belgede boş image.Layers dizisiIsFlatten, true ve belge hiçbir ayrıştırılmış katmana sahip değil.image.Layers.Length (veya image.IsFlatten) kontrol edin, image.Layers içine indekslemeden önce

FAQ

Bir PSD belgesi yüklemek piksel verilerini çözer mi?

Hayır. PsdImage.Load() belge başlığını, katman meta verilerini ve kaynakları, piksel verilerini kodlamadan veya render etmeden ayrıştırır.

Bir PSD dosyasını başka bir görüntü formatına dönüştürebilir miyim?

Hayır. Bu kütüphane yalnızca PSD/PSB belgelerini yükler, inceler ve kaydeder — piksel verilerini render etmez veya diğer görüntü formatlarına dönüştürmez.


API Reference Özeti

Sınıf/YöntemAçıklama
Image.Load(string) / Image.Load(Stream)Bir PSD veya PSB belgesini yükler
PsdImage.Save(string) / PsdImage.Save(Stream)Belgeyi kaydeder
PsdImage.Width / Height / BitsPerChannel / ColorMode / Version / Compression / Size / IsFlattenBelge başlığı özellikleri
PsdImage.ImageResourcesAyrıştırılmış görüntü kaynak blokları (salt okunur)

Ayrıca Bakınız

 Türkçe