PsdImage dan
Layer, memberi Python pengembang akses programatik ke struktur dokumen PSD tanpa
dependensi native untuk dikompilasi. Perpustakaan ini membaca dimensi file PSD/PSB, mode warna, kedalaman bit, dan kompresi
metode, dan mengekspos setiap lapisan melalui PsdImage.layers: setiap Layer melaporkan namanya,
batas, opasitas, visibilitas, dan kunci mode campur (BlendMode), bersama dengan tingkat lebih rendah
informasi saluran (ChannelInformation) dan data masker (LayerMaskData). Subset dari
metadata lapisan — nama, batas (left/top/right/bottom), dan mode campur — dapat
dimodifikasi di tempat dan disimpan kembali ke disk dengan PsdImage.save(); semua hal lain pada
permukaan bersifat read-only secara desain dalam build FOSS ini. Aspose.PSD FOSS for Python berlisensi MIT. Instal dengan
pip install aspose-psd-foss — perpustakaan ini tidak memiliki dependensi third-party native
dependencies, hanya perpustakaan standar Python. Untuk keluarga produk enterprise, lihat Aspose.PSD — Enterprise Product Family.Image.load(file_path) membuka file dan mengembalikan instance PsdImagePsdImage.width, height, dan channels_count melaporkan dimensi kanvas dan jumlah kanalPsdImage.layers mengembalikan daftar lengkap objek Layer dalam urutan dokumenPsdImage.layers mengembalikan setiap Layer dalam urutan dokumen; setiap Layer menampilkan name, bounds, opacity, is_visible, dan blend_mode_keyLayer.channel_information menampilkan metadata saluran untuk inspeksi yang lebih mendalamLayer.channels_count melaporkan berapa banyak saluran gambar yang dibawa oleh sebuah layerPsdImage.layers sendiri dapat ditetapkan kembali untuk menghapus atau menyusun ulang layerLayer.name, Layer.left/top/right/bottom, dan Layer.blend_mode_key dapat diatur secara langsungPsdImage.save(file_path) menyimpan dokumen yang dimodifikasi kembali ke diskPsdImage.load mengonfirmasi bahwa penyuntingan berulang (round-trip) berhasilNotSupportedException jika diatur — build ini mendukung penyuntingan hanya metadata, bukan penulisan ulang penuhLayer.channel_information menampilkan koleksi metadata per saluranLayer.has_mask_data dan has_blending_ranges_data melaporkan apakah bagian opsional adaPsdLoadException dan PsdSaveException menampilkan kesalahan muat/simpan dengan pesan yang jelasMuat sebuah file dengan Image.load untuk mendapatkan instance PsdImage untuk anggota khusus PSD.
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)}")
Batas lapisan dan mode campuran dapat diubah secara langsung dan disimpan kembali ke 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}")
Informasi saluran dapat dibaca tetapi tidak dapat ditetapkan kembali — mencoba mengatur akan menyebabkan 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 berlisensi MIT. Anda dapat menggunakan, memodifikasi, dan mendistribusikannya kembali sesuai ketentuan lisensi MIT, termasuk dalam produk komersial.
Lihat bagian instalasi di atas untuk perintah instalasi saat ini.
Ia memuat dan menyimpan file PSD dan PSB (Photoshop large document). Ia tidak merender atau mengekspor data piksel ke format raster lain seperti PNG atau JPEG.
PsdImage (sebuah subclass dari Image). Muat dokumen dengan PsdImage.load, kemudian baca koleksi layers dan properti header.
Ya — Layer menyediakan setter yang berfungsi untuk beberapa properti, seperti visibilitas dan nama, dan PsdImage.layers sendiri memiliki setter yang berfungsi untuk mengganti koleksi. Beberapa properti spesifik (informasi saluran, data masker, rentang pencampuran, dan beberapa sumber daya document- level) bersifat read-only dalam build FOSS ini dan akan memunculkan NotSupportedException jika diatur.