Python içinde Aspose.PSD FOSS Core API ile Nasıl Çalışılır

Python içinde Aspose.PSD FOSS Core API ile Nasıl Çalışılır

Aspose.PSD FOSS for Python PSD/PSB belge yapısını PsdImage aracılığıyla, Image sınıfının bir alt sınıfı olarak, yükler ve inceler. Bu makale bir belgenin yüklenmesini, başlığının ve görüntü kaynaklarının okunmasını ve diske geri kaydedilmesini kapsar.

Adım Adım Kılavuz

Adım 1: Paketi Yükleyin

git clone https://github.com/aspose-psd-foss/Aspose.PSD-FOSS-for-Python.git
cd Aspose.PSD-FOSS-for-Python
# No packaging manifest is published yet -- run from this folder,
# or add it to PYTHONPATH:
export PYTHONPATH=$PWD:$PYTHONPATH

Adım 2: Gerekli Sınıfları İçeri Aktarın

PsdImage, bu kılavuz boyunca kullanılan giriş noktasıdır:

from aspose_psd_foss.psdimage import PsdImage

Adım 3: Bir PSD/PSB Belgesi Yükle

PsdImage.load(), bir dosya yolundan veya bir akıştan belge açar:

from aspose_psd_foss.psdimage import PsdImage

image = PsdImage.load("input.psd")

Adım 4: Belge Başlığını İncele

PsdImage, ayrıştırılmış belgelerden okunan başlık alanlarını gösterir: width, height, bits_per_channel, color_mode (ColorModes değeri), ve compression (CompressionMethod değeri):

print(f"{image.width}x{image.height}, {image.bits_per_channel} bpc")
print(f"Color mode: {image.color_mode}")    # e.g. ColorModes.RGB
print(f"Compression: {image.compression}")  # e.g. CompressionMethod.RLE
print(f"Flattened: {image.is_flatten}")

ColorModes değerleri BITMAP, GRAYSCALE, INDEXED, RGB, CMYK, MULTICHANNEL, DUOTONE ve LAB‘dir. CompressionMethod değerleri RAW, RLE, ZIP_WITHOUT_PREDICTION ve ZIP_WITH_PREDICTION‘tir.


Adım 5: Görüntü Kaynak Bloklarını Oku

image_resources, belgenin ayrıştırılmış ResourceBlock girişlerini döndürür. Her blok id, name ve size öğelerini gösterir:

for resource in image.image_resources:
    print(f"Resource {resource.id} \"{resource.name}\" - {resource.size} bytes")

image_resources bu FOSS yapısında yalnızca okunabilir — ona atama yapmak bir hata oluşturur NotSupportedException (bilinen sınırlamalara bakın FAQ).


Adım 6: Belgeyi Kaydet

Belgeyi diske geri yazın, ardından görüntünün kaynaklarını serbest bırakın:

image.save("output.psd")
image.dispose()

Yaygın Sorunlar ve Çözümler

PsdLoadException dosya yüklenirken. Girdi geçerli bir PSD/PSB belgesi değil veya başlığı doğrulama hatası aldı. Yüklemeden önce dosyanın gerçek bir PSD/PSB dosyası olduğunu doğrulayın.

NotSupportedException ayarlarken image_resources or global_layer_resources. Bu ayarlayıcılar bu FOSS yapısında desteklenmiyor. Şöyle ele alın image_resources yalnızca okunur olarak.

Sık Sorulan Sorular

Bir PSD dosyasını dosya yolu yerine bir akıştan yükleyebilir miyim?

Evet — PsdImage.load() bir dosya yolu dizesi ya da okunabilir bir akışı (io.BytesIO/io.BufferedIOBase) kabul eder.

image_resources katman verilerini içeriyor mu?

Hayır. image_resources belge düzeyindeki kaynak bloklarını tutar (PSD görüntü kaynakları bölümünden ayrıştırılır). Katman düzeyindeki veriler şunun aracılığıyla okunur PsdImage.layers — bakınız Katmanlarla Çalışma.

PsdImage.version PSD dosya formatı sürümü mü?

Hayır. PsdImage.version, dahili bir Aspose.PSD-uyumlu API sürüm numarasını (şu anda 6) rapor eder — bu, yüklenen dosyanın PSD mi PSB mi olduğuyla ilgili değildir. Ayarlayıcısı yalnızca 6 değerini kabul eder; başka bir değer ValueError hatasına yol açar.

Ayrıca Bakınız

 Türkçe