Giriş
Aspose.PSD FOSS for Python, Python kodundan PSD ve PSB (Photoshop büyük belge) dosyalarıyla çalışmak için yeni bir açık kaynak kütüphanedir. MIT lisansı altında yayınlanmıştır, üçüncü taraf yerel bağımlılıkları yoktur ve çalışma zamanında yalnızca Python standart kütüphanesini gerektirir. Paket, aspose_psd_foss olarak içe aktarılır.
Kütüphane, soyut Image temel sınıfını genişleten PsdImage sınıfı ve Layer sınıfı etrafında organize edilmiştir. Image.load() / PsdImage.load(), bir dosya yolu veya akıştan belge yükler, başlık bilgilerini (width, height, color_mode, version, compression) ve ayrıştırılmış layers koleksiyonunu ortaya çıkar; PsdImage.save() belgeyi bir dosyaya veya akışa geri yazar. Her iki sınıf da otomatik temizlik için with ifadesini destekler. Her Layer, kendi meta verilerini — name, bounds, is_visible, opacity, clipping, blend_mode_key ve kanal/maske bilgilerini — ortaya koyar ve bu özelliklerin bir alt kümesi yerinde değiştirilip dosyaya geri kaydedilebilir.
Bu sürüm, ticari lisans olmadan bir Python kod tabanındaki PSD/PSB dosyalarını incelemesi veya sınırlı meta veri düzenlemeleri yapması gereken geliştiriciler içindir — katman yapısını raporlayan varlık-işlem hattı araçları, devretmeden önce katman adını değiştiren veya görünürlüğünü açıp kapatan derleme betikleri veya tam bir render motoru olmadan PSD başlığını ve katman verilerini okuması gereken test kurulumları. Kütüphane piksel verilerini render etmez veya PSD/PSB’ı diğer görüntü formatlarına dönüştürmez — PSD/PSB konteyner formatı için meta veri odaklı bir okuyucu/yazıcıdır.
Neler Dahil
Belge İncelemesi
PsdImage.load(), bir PSD veya PSB dosyasının başlığını tiplenmiş özelliklere — width, height, bits_per_channel, color_mode, version, compression, size ve is_flatten — piksel verilerini çözmeden ayrıştırır.
from aspose_psd_foss.psdimage import PsdImage
with PsdImage.load("input.psd") as image:
print(f"Width: {image.width}, Height: {image.height}")
print(f"ColorMode: {image.color_mode}, Version: {image.version}")
print(f"Layers: {image.layer_count}, Compression: {image.compression}")
Katman Üstverisi
PsdImage.layers içindeki her giriş, kendi sınırlarını, görünürlüğünü, opaklığını, kırpmasını ve karıştırma modu üstverisini ortaya çıkaran bir Layerdir.
from aspose_psd_foss.psdimage import PsdImage
with PsdImage.load("input.psd") as image:
for layer in image.layers:
print(f"{layer.name}: {layer.bounds}, Visible={layer.is_visible}, Opacity={layer.opacity}")
Desteklenen Üstveri Düzenlemeleri
Katman özelliklerinin bir alt kümesi yerinde değiştirilebilir ve PsdImage.save() ile geri yazılabilir: ad, görünürlük, opaklık, kırpma, karıştırma modu anahtarı ve dört sınır kenarı.
from aspose_psd_foss.psdimage import PsdImage
from aspose_psd_foss.layers.blendmode import BlendMode
with PsdImage.load("input.psd") as image:
layer = image.layers[0]
layer.name = f"{layer.name} (edited)"
layer.is_visible = not layer.is_visible
layer.opacity = 128
layer.blend_mode_key = BlendMode.MULTIPLY
image.save("output.psd")
Hızlı Başlangıç
Paketi yükleyin, ardından bir PSD veya PSB dosyası yükleyin, katmanlarını inceleyin ve tekrar kaydedin:
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:$PYTHONPATHfrom aspose_psd_foss.psdimage import PsdImage
with PsdImage.load("input.psd") as image:
print(f"Width: {image.width}, Height: {image.height}, Layers: {image.layer_count}")
for layer in image.layers:
print(f" {layer.name}: {layer.bounds}")
image.save("output.psd")
Desteklenen Formatlar
| Biçim | Uzantı | Oku | Yaz |
|---|---|---|---|
| PSD | psd | ✓ | ✓ |
| PSB | psb | ✓ | ✓ |
Açık Kaynak & Lisanslama
Aspose.PSD FOSS için Python, MIT lisanslıdır ve telif ücreti olmadan ticari ürünlerde kullanılabilir, değerlendirme filigranı veya kullanım sınırı yoktur.
Kütüphanenin üçüncü taraf yerel bağımlılıkları yoktur — yalnızca çalışma zamanında Python standart kütüphanesi gereklidir.