النواة API

النواة API

PsdImage هو نقطة الدخول لتحميل، فحص، وحفظ مستندات PSD/PSB. وهو يمتد من الفئة الأساسية المجردة Image، التي تُعلن Width، Height، Bounds، Load()، Save()، وDispose().


تحميل وحفظ المستندات

Image.Load() يقبل مسار ملف أو Stream ويعيد Image؛ حول النتيجة إلى PsdImage للوصول إلى باقي سطح المستند. PsdImage.Save() يكتب المستند مرة أخرى إلى مسار ملف أو تدفق.

using var image = (PsdImage)Image.Load(inputPath);
// ... inspect or edit ...
image.Save(outputPath);

خصائص رأس المستند

PsdImage يُظهر الرأس المُحلل كخصائص مُعرفة بالأنواع: Width، Height، BitsPerChannel، ColorMode، Version، Compression، Size، وIsFlatten.

Console.WriteLine($"Width: {image.Width}, Height: {image.Height}");
Console.WriteLine($"ColorMode: {image.ColorMode}, Version: {image.Version}");
Console.WriteLine($"Compression: {image.Compression}, IsFlatten: {image.IsFlatten}");

موارد الصورة

PsdImage.ImageResources تُعيد مصفوفة ResourceBlock[] المُحلَّلة. في هذا الإصدار المفتوح المصدر، يمكن قراءة ImageResources وGlobalLayerResources وActiveLayer وHasTransparencyData لكن لا يمكن إعادة تعيينها — تُسبب مُعيّناتها رمي NotSupportedException.

foreach (ResourceBlock resource in image.ImageResources)
{
    Console.WriteLine($"Resource {resource.ID}: {resource.Name} ({resource.DataSize} bytes)");
}

نصائح وأفضل الممارسات

  • دائمًا قم بتحويل نتيجة Image.Load() إلى PsdImage للوصول إلى الأعضاء الخاصة بـ PSD.
  • غلف الكائنات المستحقّة لـ Dispose() في بيان using; PsdImage يطبق IDisposable.
  • عامل ImageResources وGlobalLayerResources وActiveLayer وHasTransparencyData كقراءة فقط على الرغم من أنها تُظهر setter.
  • تحقق من image.Layers.Length قبل الفهرسة إلى image.Layers — قد يكون للمستند المسطح صفر طبقات.

مشكلات شائعة

المشكلةالسببالإصلاح
NotSupportedException عند تعيين ImageResourcesهذه الخاصية للقراءة فقط في بناء FOSS على الرغم من وجود مُعيّناقرأ القيمة؛ لا تحاول إعادة تعيينها
مصفوفة image.Layers فارغة في مستند مسطحIsFlatten هو true ولا يحتوي المستند على طبقات مُحللةتحقق من image.Layers.Length (أو image.IsFlatten) قبل الفهرسة إلى image.Layers

FAQ

هل يؤدي تحميل مستند PSD إلى فك تشفير بيانات البكسل؟

لا. PsdImage.Load() يحلل رأس المستند، وبيانات تعريف الطبقات، والموارد دون فك تشفير أو عرض بيانات البكسل.

هل يمكنني تحويل ملف PSD إلى تنسيق صورة آخر؟

لا. هذه المكتبة تقوم بتحميل وفحص وحفظ مستندات PSD/PSB فقط — فهي لا تعرض بيانات البكسل ولا تحولها إلى تنسيقات صور أخرى.


API Reference ملخص

فئة/طريقةوصف
Image.Load(string) / Image.Load(Stream)يقوم بتحميل مستند PSD أو PSB
PsdImage.Save(string) / PsdImage.Save(Stream)يحفظ المستند
PsdImage.Width / Height / BitsPerChannel / ColorMode / Version / Compression / Size / IsFlattenخصائص رأس المستند
PsdImage.ImageResourcesكتل موارد الصورة التي تم تحليلها (للقراءة فقط)

انظر أيضاً

 العربية