Pendahuluan
Aspose.PSD FOSS untuk Python adalah pustaka open-source baru untuk bekerja dengan file PSD dan PSB (Photoshop large document) dari kode Python. Pustaka ini dirilis di bawah lisensi MIT, tidak memiliki dependensi native pihak ketiga, dan hanya memerlukan pustaka standar Python pada waktu runtime. Paket diimpor sebagai aspose_psd_foss.
Pustaka ini diatur di sekitar kelas PsdImage, yang memperluas kelas dasar abstrak Image, serta kelas Layer. Image.load() / PsdImage.load() memuat dokumen dari jalur file atau aliran, menampilkan informasi header (width, height, color_mode, version, compression) dan koleksi layers yang diurai; PsdImage.save() menulis kembali dokumen ke file atau aliran. Kedua kelas mendukung pernyataan with untuk pembersihan otomatis. Setiap Layer menampilkan metadata-nya sendiri — name, bounds, is_visible, opacity, clipping, blend_mode_key, dan informasi kanal/topeng — dan sebagian dari properti ini dapat diubah di tempat dan disimpan kembali ke file.
Rilis ini ditujukan untuk pengembang yang perlu memeriksa atau melakukan penyuntingan metadata terbatas pada file PSD/PSB di dalam basis kode Python tanpa lisensi komersial — alat pipeline aset yang melaporkan struktur lapisan, skrip build yang mengganti nama atau mengubah visibilitas lapisan sebelum penyerahan, atau fixture pengujian yang perlu membaca header PSD dan data lapisan tanpa mesin rendering penuh. Pustaka ini tidak merender data piksel atau mengonversi PSD/PSB ke format gambar lain — ia adalah pembaca/penulis yang berfokus pada metadata untuk format wadah PSD/PSB.
Apa yang Termasuk
Inspeksi Dokumen
PsdImage.load() mengurai header file PSD atau PSB menjadi properti bertipe — width, height, bits_per_channel, color_mode, version, compression, size, dan is_flatten — tanpa mendekode data piksel.
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}")
Metadata Lapisan
Setiap entri dalam PsdImage.layers adalah Layer yang menampilkan batas, visibilitas, opasitas, pemotongan, dan metadata mode pencampuran miliknya.
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}")
Suntingan Metadata yang Didukung
Subset properti lapisan dapat diubah secara langsung dan ditulis kembali dengan PsdImage.save(): nama, visibilitas, opasitas, pemotongan, kunci mode pencampuran, dan empat tepi batas.
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")
Panduan Cepat
Pasang paket, lalu muat file PSD atau PSB, periksa lapisannya, dan simpan kembali:
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")
Format yang Didukung
| Format | Ekstensi | Baca | Tulis |
|---|---|---|---|
| PSD | psd | ✓ | ✓ |
| PSB | psb | ✓ | ✓ |
Sumber Terbuka & Lisensi
Aspose.PSD FOSS untuk Python berlisensi MIT dan dapat digunakan dalam produk komersial tanpa royalti, tanpa watermark evaluasi atau batas penggunaan.
Perpustakaan ini tidak memiliki ketergantungan native pihak ketiga — hanya pustaka standar Python yang diperlukan pada waktu berjalan.