PsdImage و
Layer، مما يمنح مطوري Python وصولًا برمجيًا إلى بنية مستند PSD دون
اعتماديات أصلية للترجمة. تقرأ المكتبة أبعاد ملف PSD/PSB، وضع اللون، عمق البت، وطريقة الضغط
، وتكشف عن كل طبقة عبر PsdImage.layers: كل Layer تُبلغ عن اسمه،
حدوده، شفافيته، رؤيته، ومفتاح وضع الدمج (BlendMode)، إلى جانب مستوى أدنى
معلومات القناة (ChannelInformation) وبيانات القناع (LayerMaskData). مجموعة فرعية من
بيانات تعريف الطبقة — الاسم، الحدود (left/top/right/bottom)، ووضع الدمج — يمكن
تعديلها في الموقع وحفظها مرة أخرى على القرص باستخدام PsdImage.save()؛ كل ما
باقي السطح للقراءة فقط بحكم التصميم في هذا البناء المفتوح المصدر. Aspose.PSD FOSS for Python مرخصة برخصة MIT. قم بتثبيتها عبر
pip install aspose-psd-foss — المكتبة لا تعتمد على أي تبعيات أصلية من أطراف ثالثة،
فقط مكتبة Python القياسية. لعائلة منتجات المؤسسات، راجع Aspose.PSD — Enterprise Product Family.Image.load(file_path) يفتح ملفًا ويعيد كائن PsdImagePsdImage.width، height، و channels_count تُبلغ عن أبعاد اللوحة وعدد القنواتPsdImage.layers تُرجع القائمة الكاملة لكائنات Layer بترتيب المستندPsdImage.layers تُعيد كل Layer بترتيب المستند؛ كل Layer تُظهر name، bounds، opacity، is_visible، وblend_mode_keyLayer.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 يكشف عن مُعيّن يعمل لعدة خصائص، مثل الظهور والاسم، وPsdImage.layers نفسه يحتوي على مُعيّن يعمل لاستبدال المجموعة. بعض الخصائص المحددة (معلومات القناة، بيانات القناع، نطاقات الدمج، وبعض موارد مستوى المستند) هي للقراءة فقط في هذا البناء المفتوح المصدر وتطرح NotSupportedException إذا تم تعيينها.