Bevezetés
Aspose.PSD FOSS a(z) Python számára egy új nyílt forráskódú könyvtár a PSD és PSB (Photoshop nagy dokumentum) fájlok Python kódból történő kezelésére. MIT licenc alatt került kiadásra, nincs harmadik féltől származó natív függősége, és futásidőben csak a Python szabványos könyvtárra van szükség. A csomag importálása aspose_psd_foss néven történik.
A könyvtár a PsdImage osztály köré épül, amely kiterjeszti az absztrakt Image alaposztályt, valamint a Layer osztályt. A Image.load() / PsdImage.load() egy dokumentumot tölt be fájlútvonalról vagy adatfolyamból, és elérhetővé teszi a fejlécinformációkat (width, height, color_mode, version, compression) valamint a feldolgozott layers gyűjteményt; a PsdImage.save() a dokumentumot visszaírja fájlba vagy adatfolyamba. Mindkét osztály támogatja a with utasítást az automatikus takarításra. Minden Layer saját metaadatait – name, bounds, is_visible, opacity, clipping, blend_mode_key, valamint a csatorna/maska információkat – teszi elérhetővé, és ezen tulajdonságok egy részét helyben meg lehet változtatni, majd vissza lehet menteni a fájlba.
Ez a kiadás azoknak a fejlesztőknek szól, akiknek PSD/PSB fájlok metaadatainak ellenőrzése vagy korlátozott módosítása szükséges egy Python kódbázison belül kereskedelmi licenc nélkül — olyan eszközöknek, amelyek jelentik a rétegstruktúrát, build-scripteknek, amelyek átnevezik vagy átkapcsolják a rétegek láthatóságát a továbbítás előtt, vagy tesztkörnyezeteknek, amelyeknek a PSD fejlécre és rétegadatokra van szükségük teljes renderelő motor nélkül. A könyvtár nem rendereli a pixeladatokat, és nem konvertálja a PSD/PSB más képformátumokra — metaadatokra fókuszáló olvasó/író a PSD/PSB konténerformátumhoz.
Mi van benne
Dokumentumellenőrzés
PsdImage.load() a PSD vagy PSB fájl fejléceit típusos tulajdonságokká dolgozza fel — width, height, bits_per_channel, color_mode, version, compression, size és is_flatten — anélkül, hogy dekódolná a pixeladatokat.
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}")
Rétegmetaadatok
A PsdImage.layers minden bejegyzése egy Layer, amely saját határait, láthatóságát, átlátszóságát, vágását és keverési mód metaadatait teszi közzé.
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}")
Támogatott metaadat-szerkesztések
A réteg tulajdonságainak egy részhalmaza helyben módosítható, és visszaírható a(z) PsdImage.save() segítségével: név, láthatóság, átlátszóság, vágás, keverési mód kulcs, valamint a négy határél.
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")
Gyors kezdés
Telepítsd a csomagot, majd tölts be egy PSD vagy PSB fájlt, vizsgáld meg a rétegeit, és mentsd vissza:
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")
Támogatott formátumok
| Formátum | Kiterjesztés | Olvas | Ír |
|---|---|---|---|
| PSD | psd | ✓ | ✓ |
| PSB | psb | ✓ | ✓ |
Nyílt forráskód & Licencelés
Aspose.PSD FOSS for Python MIT licenc alatt áll, és kereskedelmi termékekben használható jogdíj nélkül, értékelési vízjel vagy használati korlátozás nélkül.
A könyvtárnak nincsenek harmadik féltől származó natív függőségei — csak a Python standard könyvtárra van szükség futásidőben.