บทนำ

Aspose.PSD FOSS สำหรับ Python เป็นไลบรารีโอเพ่นซอร์สใหม่สำหรับการทำงานกับไฟล์ PSD และ PSB (เอกสารขนาดใหญ่ของ Photoshop) จากโค้ด Python มันถูกปล่อยภายใต้สัญญาอนุญาต MIT, ไม่มีการพึ่งพาไลบรารีเนทีฟของบุคคลที่สาม และต้องการเพียงไลบรารีมาตรฐาน Python ในเวลารัน แพ็คเกจจะถูกนำเข้าโดยใช้ชื่อ aspose_psd_foss.

ไลบรารีนี้จัดโครงสร้างรอบคลาส PsdImage ซึ่งสืบทอดจากคลาสฐานแบบนามธรรม Image และคลาส Layer Image.load() / PsdImage.load() โหลดเอกสารจากเส้นทางไฟล์หรือสตรีม, เปิดเผยข้อมูลส่วนหัว (width, height, color_mode, version, compression) และคอลเลกชัน layers ที่แยกวิเคราะห์; PsdImage.save() เขียนเอกสารกลับออกไปยังไฟล์หรือสตรีม ทั้งสองคลาสสนับสนุนคำสั่ง with เพื่อทำความสะอาดอัตโนมัติ แต่ละ Layer แสดงเมตาดาต้าของตนเอง — name, bounds, is_visible, opacity, clipping, blend_mode_key, และข้อมูลช่อง/มาสก์ — และส่วนหนึ่งของคุณสมบัติเหล่านี้สามารถเปลี่ยนได้ในที่เดียวและบันทึกกลับไปยังไฟล์.

การปล่อยเวอร์ชันนี้มุ่งเน้นไปที่นักพัฒนาที่ต้องการตรวจสอบหรือทำการแก้ไขเมตาดาต้าอย่างจำกัดในไฟล์ PSD/PSB ภายในโค้ดเบส Python โดยไม่ต้องมีใบอนุญาตเชิงพาณิชย์ — เครื่องมือ asset-pipeline ที่รายงานโครงสร้างเลเยอร์, สคริปต์การสร้างที่เปลี่ยนชื่อหรือสลับการมองเห็นของเลเยอร์ก่อนส่งต่อ, หรือฟิกเจอร์ทดสอบที่ต้องอ่านส่วนหัว PSD และข้อมูลเลเยอร์โดยไม่ต้องใช้เอนจินการเรนเดอร์เต็มรูปแบบ ไลบรารีนี้ไม่ทำการเรนเดอร์ข้อมูลพิกเซลหรือแปลง PSD/PSB ไปเป็นรูปแบบภาพอื่น — มันเป็นตัวอ่าน/เขียนที่มุ่งเน้นเมตาดาต้าสำหรับรูปแบบคอนเทนเนอร์ PSD/PSB.


สิ่งที่รวมอยู่

การตรวจสอบเอกสาร

PsdImage.load() แยกส่วนหัวของไฟล์ PSD หรือ PSB เป็นคุณสมบัติที่มีชนิดกำหนด — width, height, bits_per_channel, color_mode, version, compression, size, และ is_flatten — โดยไม่ต้องถอดรหัสข้อมูลพิกเซล.

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}")

ข้อมูลเมตาเลเยอร์

แต่ละรายการใน PsdImage.layers เป็น Layer ที่เปิดเผยขอบเขต การมองเห็น ความทึบแสง การคลิป และเมตาดาต้าโหมดผสมของมันเอง.

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}")

การแก้ไขเมตาดาต้าที่รองรับ

ส่วนย่อยของคุณสมบัติของเลเยอร์สามารถเปลี่ยนแปลงได้โดยตรงและเขียนกลับด้วย PsdImage.save(): ชื่อ, การมองเห็น, ความทึบแสง, การคลิป, คีย์โหมดผสม, และขอบของขอบเขตสี่ด้าน.

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")

เริ่มต้นอย่างรวดเร็ว

ติดตั้งแพ็กเกจ, จากนั้นโหลดไฟล์ PSD หรือ PSB, ตรวจสอบเลเยอร์ของมัน, และบันทึกออกมาใหม่:

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")

รูปแบบที่รองรับ

รูปแบบส่วนขยายอ่านเขียน
PSDpsd✓✓
PSBpsb✓✓

ซอร์สเปิด & ใบอนุญาต

Aspose.PSD FOSS สำหรับ Python ได้รับใบอนุญาตแบบ MIT และสามารถใช้ในผลิตภัณฑ์เชิงพาณิชย์ได้โดยไม่มีค่าโรเยลส์, ไม่มีลายน้ำการประเมินหรือข้อจำกัดการใช้งาน.

ไลบรารีนี้ไม่มีการพึ่งพาเนทีฟจากบุคคลที่สามเลย — จำเป็นต้องใช้เฉพาะไลบรารีมาตรฐานของ Python เท่านั้นในช่วงรันไทม์.


เริ่มต้นใช้งาน

แหล่งข้อมูลที่เกี่ยวข้อง