PsdImage och
Layer, vilket ger Python utvecklare programmatisk åtkomst till en PSD-dokuments struktur utan
inhemska beroenden att kompilera. Biblioteket läser en PSD/PSB-fils dimensioner, färgläge, bitdjup och komprimerings
metod, och exponerar varje lager via PsdImage.layers: varje Layer rapporterar sitt namn,
gränser, opacitet, synlighet och blandningslägesnyckel (BlendMode), tillsammans med lägre nivå
kanalinformation (ChannelInformation) och maskdata (LayerMaskData). En delmängd av
lagermetadata — namn, gränser (left/top/right/bottom), och blandningsläge — kan
modifieras på plats och sparas tillbaka till disk med PsdImage.save(); allt annat på
ytan är skrivskyddad av design i denna FOSS-byggnad. Aspose.PSD FOSS for Python är MIT-licensierad. Installera det med
pip install aspose-psd-foss — biblioteket har noll tredjeparts inhemska
beroenden, endast Python standardbiblioteket. För företagsproduktfamiljen, se Aspose.PSD — Enterprise Product Family.Image.load(file_path) öppnar en fil och returnerar en PsdImage-instansPsdImage.width, height och channels_count rapporterar dukens dimensioner och kanalantalPsdImage.layers returnerar hela listan med Layer-objekt i dokumentordningPsdImage.layers returnerar varje Layer i dokumentordning; varje Layer exponerar name, bounds, opacity, is_visible och blend_mode_keyLayer.channel_information exponerar kanalmetadata för djupare inspektionLayer.channels_count rapporterar hur många bildkanaler ett lager harPsdImage.layers kan själv tilldelas på nytt för att ta bort eller omordna lagerLayer.name, Layer.left/top/right/bottom, och Layer.blend_mode_key kan sättas direktPsdImage.save(file_path) sparar det modifierade dokumentet tillbaka till diskenPsdImage.load bekräftar att redigeringarna klarar rundresan korrektNotSupportedException om de sätts — den här versionen stöder endast metadata-redigeringar, inte fullständig återförfattningLayer.channel_information exponerar metadata-samlingar per kanalLayer.has_mask_data och has_blending_ranges_data rapporterar om valfria sektioner är närvarandePsdLoadException och PsdSaveException visar laddnings-/sparningsfel med tydliga meddelandenLäs in en fil med Image.load för att få en PsdImage-instans för PSD-specifika medlemmar.
from aspose_psd_foss.image import Image
with Image.load("test.psd") as image:
print(f"Width: {image.width}, Channels: {image.channels_count}, Layers: {len(image.layers)}")
Lagergränser och blandningsläge kan ändras på plats och sparas tillbaka till disk.
from aspose_psd_foss.psdimage import PsdImage
from aspose_psd_foss.layers.blendmode import BlendMode
with PsdImage.load("test.psd") as image:
image.layers[0].left = 10
image.layers[0].top = 20
image.layers[0].right = 40
image.layers[0].bottom = 60
image.layers[0].blend_mode_key = BlendMode.MULTIPLY
image.save("edited.psd")
with PsdImage.load("edited.psd") as reloaded:
print(f"Bounds: {reloaded.layers[0].bounds}, BlendMode: {reloaded.layers[0].blend_mode_key}")
Kanalinformation kan läsas men inte tilldelas på nytt — att försöka sätta den ger NotSupportedException.
from aspose_psd_foss.psdimage import PsdImage
with PsdImage.load("test.psd") as image:
layer = image.layers[0]
channel_information = layer.channel_information
print(f"Channel count: {layer.channels_count}, first channel: `NotSupportedException`")
# layer.channel_information = channel_information # raises NotSupportedException
Aspose.PSD FOSS for Python är licensierad under MIT-licensen. Du kan använda, modifiera och distribuera den enligt villkoren i MIT-licensen, även i kommersiella produkter.
Se installationsavsnittet ovan för det aktuella installationskommandot.
Den laddar och sparar PSD- och PSB-filer (Photoshop large document). Den renderar inte eller exporterar pixeldata till andra rasterformat såsom PNG eller JPEG.
PsdImage (en underklass av Image). Ladda ett dokument med PsdImage.load, läs sedan dess layers-samling och huvudegenskaper.
Ja — Layer exponerar en fungerande setter för flera egenskaper, såsom synlighet och namn, och PsdImage.layers själv har en fungerande setter för att ersätta samlingen. Några specifika egenskaper (kanalinformation, maskdata, blandningsintervall och vissa dokument-nivå-resurser) är skrivskyddade i detta FOSS-build och kastar NotSupportedException om de sätts.