Inti API

API Inti

PsdImage adalah titik masuk untuk memuat, memeriksa, dan menyimpan dokumen PSD/PSB. Ia memperluas kelas dasar abstrak Image, yang hanya mendeklarasikan load() — sisanya dari permukaan dokumen (width, height, save(), dukungan context-manager) didefinisikan pada PsdImage itu sendiri, bukan diwariskan.


Memuat dan Menyimpan Dokumen

Image.load() menerima jalur file atau aliran dan mengembalikan sebuah Image; untuk masukan PSD/PSB ini selalu berupa PsdImage, sehingga permukaan dokumen langsung tersedia tanpa cast eksplisit. PsdImage juga mendukung pernyataan with untuk pembersihan otomatis, dan PsdImage.save() menulis kembali dokumen ke jalur file atau aliran.

from aspose_psd_foss.psdimage import PsdImage

with PsdImage.load(input_path) as image:
    # ... inspect or edit ...
    image.save(output_path)

Properti Header Dokumen

PsdImage mengekspos header yang diurai sebagai properti bertipe: width, height, bits_per_channel, color_mode, version, compression, size, dan is_flatten.

print(f"Width: {image.width}, Height: {image.height}")
print(f"ColorMode: {image.color_mode}, Version: {image.version}")
print(f"Compression: {image.compression}, IsFlatten: {image.is_flatten}")

Sumber Daya Gambar

PsdImage.image_resources mengembalikan daftar yang diurai dari objek ResourceBlock. Dalam build FOSS ini, image_resources, global_layer_resources, active_layer, dan has_transparency_data dapat dibaca tetapi tidak dapat ditetapkan kembali — setter mereka memunculkan NotSupportedException.

for resource in image.image_resources:
    print(f"Resource {resource.id}: {resource.name} ({resource.data_size} bytes)")

Tips dan Praktik Terbaik

  • Image.load() sudah mengembalikan PsdImage untuk input PSD/PSB — tidak perlu melakukan cast, tidak seperti beberapa port bahasa lain dari pustaka ini.
  • Gunakan pernyataan with; PsdImage mendukung protokol context-manager untuk pembersihan.
  • Anggap image_resources, global_layer_resources, active_layer, dan has_transparency_data sebagai read-only meskipun mereka memiliki setter.
  • Periksa image.layer_count sebelum mengindeks ke image.layers — dokumen yang diratakan mungkin tidak memiliki lapisan.

Masalah Umum

MasalahPenyebabPerbaikan
NotSupportedException saat mengatur image_resourcesProperti ini hanya dapat dibaca dalam build FOSS meskipun memiliki setterBaca nilainya; jangan mencoba menetapkan ulang
Daftar image.layers kosong pada dokumen yang diratakanis_flatten adalah True dan dokumen tidak memiliki lapisan yang diparsePeriksa image.layer_count (atau image.is_flatten) sebelum mengindeks ke image.layers

FAQ

Apakah memuat dokumen PSD mendekode data piksel?

Tidak. PsdImage.load() mengurai header dokumen, metadata lapisan, dan sumber daya tanpa mendekode atau merender data piksel.

Apakah saya dapat mengonversi file PSD ke format gambar lain?

Tidak. Perpustakaan ini hanya memuat, memeriksa, dan menyimpan dokumen PSD/PSB — tidak merender data piksel atau mengonversi ke format gambar lain.


API Reference Ringkasan

Kelas/MetodeDeskripsi
Image.load(path) / Image.load(stream)Muat dokumen PSD atau PSB
PsdImage.save(path) / PsdImage.save(stream)Simpan dokumen
PsdImage.width / height / bits_per_channel / color_mode / version / compression / size / is_flattenProperti header dokumen
PsdImage.image_resourcesBlok sumber daya gambar yang diurai (hanya-baca)

Lihat Juga

 Bahasa Indonesia