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:$PYTHONPATH
from 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átumKiterjesztésOlvasÍr
PSDpsd✓✓
PSBpsb✓✓

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.


Első lépések

Kapcsolódó források