PsdImage و
Layer متمرکز است، به Python توسعهدهندگان دسترسی برنامهنویسی به ساختار سند PSD را بدون
وابستگیهای بومی برای کامپایل فراهم میکند. کتابخانه ابعاد، حالت رنگ، عمق بیت، و روش فشردهسازی یک فایل PSD/PSB را میخواند،
و هر لایه را از طریق PsdImage.layers در دسترس میگذارد: هر Layer نام،
مرزها، شفافیت، قابلیت مشاهده، و کلید حالت ترکیب (BlendMode) را گزارش میکند،
به همراه اطلاعات سطح پایین کانال (ChannelInformation) و دادههای ماسک (LayerMaskData). زیرمجموعهای از
متادیتای لایه — نام، مرزها (left/top/right/bottom)، و حالت ترکیب — میتواند
در محل اصلاح شده و با PsdImage.save() به دیسک بازگردانده شود؛ همه چیزهای دیگر
بر سطح بهصورت پیشفرض فقط-خواندنی هستند در این ساختار FOSS. Aspose.PSD FOSS for Python تحت مجوز MIT است. آن را با
pip install aspose-psd-foss نصب کنید — این کتابخانه هیچ وابستگی بومی شخص ثالثی
ندارد، فقط کتابخانهٔ استاندارد Python. برای خانوادهٔ محصولات سازمانی، به Aspose.PSD — Enterprise Product Family مراجعه کنید.Image.load(file_path) یک فایل را باز میکند و یک نمونه PsdImage برمیگرداندPsdImage.width، height و channels_count ابعاد بوم و تعداد کانالها را گزارش میدهندPsdImage.layers فهرست کامل اشیاء Layer را به ترتیب سند برمیگرداندPsdImage.layers همهٔ Layerها را به ترتیب سند برمیگرداند؛ هر Layer ویژگیهای name، bounds، opacity، is_visible و blend_mode_key را افشا میکندLayer.channel_information متادیتای کانال را برای بازرسی عمیقتر فراهم میکندLayer.channels_count تعداد کانالهای تصویری که یک لایه حمل میکند را گزارش میدهدPsdImage.layers میتواند برای حذف یا تغییر ترتیب لایهها مجدداً مقداردهی شودLayer.name، Layer.left/top/right/bottom و Layer.blend_mode_key را بهصورت مستقیم تنظیم کردPsdImage.save(file_path) سند تغییر یافته را بهصورت دائمی بر روی دیسک ذخیره میکندPsdImage.load ذخیره شده است، ویرایشها را بهدرستی در مسیر دورانی تأیید میکندNotSupportedException میشوند — این نسخه فقط ویرایشهای متادیتا را پشتیبانی میکند و بازنویسی کامل را پشتیبانی نمیکندLayer.channel_information مجموعههای متادیتای هر کانال را در دسترس قرار میدهدLayer.has_mask_data و has_blending_ranges_data گزارش میدهند که آیا بخشهای اختیاری موجود هستند یا خیرPsdLoadException و PsdSaveException خطاهای بارگذاری/ذخیرهسازی را با پیامهای واضح نمایش میدهندیک فایل را با Image.load بارگذاری کنید تا یک نمونه PsdImage برای اعضای خاص 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)}")
مرزهای لایه و حالت ترکیب میتوانند در محل تغییر داده شوند و دوباره بر روی دیسک ذخیره شوند.
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}")
اطلاعات کانال میتواند خوانده شود اما نمیتوان آن را مجدداً اختصاص داد — تلاش برای تنظیم آن منجر به بروز 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 تحت مجوز MIT است. میتوانید از آن استفاده کنید، آن را اصلاح و بازتوزیع کنید تحت شرایط مجوز MIT، از جمله در محصولات تجاری.
برای دریافت دستور نصب فعلی، بخش نصب بالا را ببینید.
این برنامه فایلهای PSD و PSB (سند بزرگ فوتوشاپ) را بارگیری و ذخیره میکند. این برنامه دادههای پیکسل را به فرمتهای رستر دیگر مانند PNG یا JPEG رندر یا صادرات نمیکند.
PsdImage (یک زیرکلاس از Image). یک سند را با PsdImage.load بارگذاری کنید، سپس مجموعه layers و ویژگیهای هدر آن را بخوانید.
بله — Layer یک setter کارآمد برای چندین ویژگی، مانند قابلیت مشاهده و نام، ارائه میدهد و خود PsdImage.layers نیز یک setter کارآمد برای جایگزینی مجموعه دارد. چند ویژگی خاص (اطلاعات کانال، دادههای ماسک، محدودههای ترکیب، و برخی منابع سطح-سند) فقط-خواندنی هستند در این ساختار FOSS و در صورت تنظیم، NotSupportedException را پرتاب میکنند.