ImageSharp في C# (.NET): دليل شامل مع أمثلة
1. ما هي مكتبة ImageSharp ولماذا تحتاجها؟
ImageSharp هي مكتبة قوية ومدارة بالكامل ومتعددة المنصات لمعالجة الصور، مكتوبة بلغة C# ضمن بيئة .NET. وهي جزء من عائلة مكتبات SixLabors، وتوفر للمطورين واجهة برمجة تطبيقات (API) نظيفة وآمنة وعالية الأداء للتعامل مع الصور دون الحاجة إلى تبعيات خارجية أصلية (مثل ImageMagick أو SkiaSharp أو GDI+). هذا يعني أن ImageSharp تعمل بشكل متساوٍ على أنظمة Windows وLinux وmacOS، مما يجعلها الخيار الأمثل لتطبيقات الويب (ASP.NET Core) والخدمات المصغرة والأدوات الطرفية وتطبيقات الهاتف المحمول (عبر Xamarin/MAUI).
لماذا تحتاج ImageSharp؟ في التطوير الحديث، أصبحت معالجة الصور مطلوبة في كل مكان: من إنشاء صور مصغرة للمعارض وتغيير حجم صور المستخدمين، إلى إضافة علامات مائية وتطبيق المرشحات وتحويل التنسيقات. تقدم ImageSharp كل هذا "مباشرة من الصندوق" مع التركيز على الأداء والأمان. على عكس System.Drawing القديم المرتبط بنظام Windows والذي يعاني من مشاكل في تعدد المهام، فإن ImageSharp آمنة للاستخدام مع تعدد المهام ومتعددة المنصات بالكامل. كما أنها تحظى بدعم نشط من المجتمع وتحتوي على وثائق مفصلة.
تشمل الإمكانيات الرئيسية للمكتبة: تحميل وحفظ الصور بالتنسيقات الشائعة (JPEG, PNG, BMP, GIF, WebP, TIFF)، تغيير الحجم، القص، التدوير، الانعكاس، إضافة النصوص والأشكال، تطبيق مصفوفات الألوان، المرشحات (التمويه، الحدة، السيبيا، الأسود والأبيض)، التعامل مع بيانات EXIF، الرسوم المتحركة GIF، وغيرها الكثير. تم بناء ImageSharp على مفهوم Image كحاوية لبيانات البكسل، وتوفر واجهة برمجة تطبيقات مرنة من خلال طرق الامتداد.
2. التثبيت
يتم تثبيت ImageSharp في مشروع .NET عبر مدير الحزم NuGet. قم بتنفيذ أحد الأوامر التالية في الطرفية أو في وحدة تحكم مدير الحزم:
// عبر .NET CLI (موصى به)
dotnet add package SixLabors.ImageSharp
// عبر Package Manager Console
Install-Package SixLabors.ImageSharp
// عبر NuGet Package Manager في Visual Studio/Rider
// ابحث عن "SixLabors.ImageSharp" وقم بتثبيت أحدث إصدار مستقر
بعد التثبيت، أضف التوجيه using في بداية ملف الكود الخاص بك:
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.Processing;
using SixLabors.ImageSharp.Formats.Jpeg;
// ... إلخ