Çekirdek API
Temel API
PsdImage giriş noktasıdır, PSD/PSB belgelerini yüklemek, incelemek ve kaydetmek için. Image soyut temel sınıfını genişletir; bu sınıf yalnızca load() bildirir — belgenin geri kalan yüzeyi (width, height, save(), bağlam-yöneticisi desteği) PsdImage içinde tanımlanır, kalıtım yoluyla gelmez.
Belgeleri Yükleme ve Kaydetme
Image.load() bir dosya yolu ya da akış kabul eder ve bir Image döndürür; PSD/PSB girişi için bu her zaman bir PsdImage olur, böylece belge yüzeyi açık bir tip dönüşümü olmadan hemen kullanılabilir. PsdImage, otomatik temizlik için with ifadesini de destekler ve PsdImage.save() belgeyi bir dosya yolu ya da akışa geri yazar.
from aspose_psd_foss.psdimage import PsdImage
with PsdImage.load(input_path) as image:
# ... inspect or edit ...
image.save(output_path)Belge Başlık Özellikleri
PsdImage ayrıştırılmış başlığı tipli özellikler olarak ortaya koyar: width, height, bits_per_channel, color_mode, version, compression, size ve is_flatten.
print(f"Width: {image.width}, Height: {image.height}")
print(f"ColorMode: {image.color_mode}, Version: {image.version}")
print(f"Compression: {image.compression}, IsFlatten: {image.is_flatten}")Görüntü Kaynakları
PsdImage.image_resources, ayrıştırılmış ResourceBlock nesnelerinin listesini döndürür. Bu FOSS derlemesinde, image_resources, global_layer_resources, active_layer ve has_transparency_data okunabilir ancak yeniden atanamaz — ayarlayıcıları NotSupportedException hatası yükseltir.
for resource in image.image_resources:
print(f"Resource {resource.id}: {resource.name} ({resource.data_size} bytes)")İpuçları ve En İyi Uygulamalar
Image.load()zaten PSD/PSB girişi için birPsdImagedöndürür — diğer bazı dil portlarının aksine dönüşüm gerekmez.withifadesini kullanın;PsdImagetemizlik için context-manager protokolünü destekler.image_resources,global_layer_resources,active_layervehas_transparency_dataöğelerini bir ayarlayıcı (setter) sunsalar bile sadece okunur olarak kabul edin.image.layer_count‘ıimage.layers‘e indekslemeden önce kontrol edin — düzleştirilmiş bir belgede sıfır katman olabilir.
Yaygın Sorunlar
| Sorun | Neden | Düzeltme |
|---|---|---|
NotSupportedException, image_resources ayarlanırken | Bu özellik, bir ayarlayıcıya (setter) sahip olması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 listesi | is_flatten, True ve belgede ayrıştırılmış katman yok. | image.layers içine indekslemeden önce image.layer_count (veya image.is_flatten) kontrol edin |
FAQ
Bir PSD belgesini yüklemek piksel verilerini çözer mi?
Hayır. PsdImage.load() belge başlığını, katman üst verilerini ve kaynakları, piksel verilerini çözmeden veya render etmeden ayrıştırır.
Bir PSD dosyasını başka bir görüntü biçimine 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ü biçimlerine dönüştürmez.
API Reference Özeti
| Sınıf/Yöntem | Açıklama |
|---|---|
Image.load(path) / Image.load(stream) | Bir PSD veya PSB belgesi yükler |
PsdImage.save(path) / PsdImage.save(stream) | Belgeyi kaydeder |
PsdImage.width / height / bits_per_channel / color_mode / version / compression / size / is_flatten | Belge başlığı özellikleri |
PsdImage.image_resources | Ayrıştırılmış görüntü kaynak blokları (salt okunur) |