كيفية ضغط الصور في C#

كيفية ضغط الصور في C#

قم بدمج ضغط .NET مكتبة لضغط تنسيقات ملفات الصور الشائعة مثل TIFF و JPG و PNG والمزيد. في المؤسسات الضخمة ، يعد تخزين الملفات موضوعًا بالغ الأهمية وتميل دائمًا إلى تحسين ملفات عملك وجعل حجمها فعالًا في الذاكرة. لذلك ، يمكنك استخدام هذه المكتبة لضغط الصور برمجيًا في تطبيق .NET. بالإضافة إلى ذلك ، ستحصل أيضًا على مقتطفات التعليمات البرمجية والخطوات حول كيفية ضغط الصور في C# |.

سيتم تناول النقاط التالية في هذا الدليل:

تثبيت مكتبة ضغط .NET

بقدر ما يتعلق الأمر بتثبيت واجهة برمجة التطبيقات هذه ، فهي بسيطة للغاية. يمكنك إما تنزيل DLL الخاص به أو تثبيته عن طريق تشغيل الأمر التالي في مدير الحزم NuGet.

Install-Package Aspose.Imaging

ضغط JPG برمجيًا

الآن ، سنقوم بتنفيذ كيفية ضغط الصور في C# برمجيًا. يمكنك اتباع الخطوات ومقتطف الشفرة المذكور أدناه:

  1. إنشاء مثيل لفئة Image واستدعاء طريقة Load لتحميل صورة بتنسيق JPG.
  2. تهيئة كائن من فئة JpegOptions.
  3. اضبط نوع اللون لصورة JPEG عن طريق تعيين قيمة خاصية ColorType.
  4. حدد نوع الضغط عن طريق تعيين قيمة الخاصية CompressionType.
  5. طريقة save ستحفظ الصورة.

انسخ الكود التالي والصقه في ملفك الرئيسي:

// إنشاء مثيل للصورة والفئة واستدعاء طريقة التحميل لتحميل صورة JPG  
using (var original = Image.Load( "sample.jpg"))
{
    // تهيئة كائن من فئة JpegOptions 
    var jpegOptions = new JpegOptions()
    {
        // عيّن نوع اللون لصورة jpeg عن طريق تعيين قيمة خاصية ColorType.   
        ColorType = JpegCompressionColorMode.Grayscale,
        // حدد نوع الضغط عن طريق تعيين قيمة الخاصية CompressionType 
        CompressionType = JpegCompressionMode.Progressive,

    };
    //  طريقة الحفظ ستحفظ الصورة.
    original.Save( "result.jpg", jpegOptions);
}

كيفية ضغط TIFF في C#

لضغط صورة TIFF ، عليك اتباع الخطوات التالية:

فيما يلي الخطوات:

  1. قم باستدعاء طريقة Load لتحميل صورة TIFF.
  2. تهيئة مُنشئ فئة TiffOptions بقيمة TiffExpectedFormat.Default.
  3. قم بتعيين قيمة خاصية BitsPerSample.
  4. أيضا ، قم بتعيين قيمة خاصية ضغط.
  5. أخيرًا ، اضبط خصائص Photometric و Palette.
  6. قم باستدعاء طريقة save لحفظ الصورة.

انسخ الكود التالي والصقه في ملفك الرئيسي:

//  استدعاء الأسلوب Load لتحميل صورة TIFF  
using (Image image = Image.Load( "sample.tiff"))
{
    // تهيئة مُنشئ فئة TiffOptions بقيمة TiffExpectedFormat.Default.  
    TiffOptions outputSettings = new TiffOptions(TiffExpectedFormat.Default);
    // قم بتعيين قيمة خاصية BitsPerSample 
    outputSettings.BitsPerSample = new ushort[] { 4 };
    // أيضا ، قم بتعيين قيمة خاصية الضغط 
    outputSettings.Compression = TiffCompressions.Lzw;
    // أخيرًا قم بتعيين خصائص Photometric و Palette  
    outputSettings.Photometric = TiffPhotometrics.Palette;
    outputSettings.Palette = ColorPaletteHelper.Create4BitGrayscale(false);
    // استدعاء طريقة حفظ لحفظ الصورة. 
    image.Save(  "result.tiff", outputSettings);
}

كيف يتم تقليل حجم ملف PNG؟

توفر مكتبة ضغط .NET مجموعة واسعة من الطرق لمعالجة وضغط ملفات PNG بسهولة.

فيما يلي الخطوات ومقتطف الشفرة لضغط PNG برمجيًا:

  1. قم بتحميل صورة PNG عن طريق استدعاء طريقة Load.
  2. حلقة حول نطاق CompressionLevel المحتمل.
  3. قم بإنشاء مثيل لفئة PngOptions لكل PNG ناتج ، وتعيين CompressionLevel ، وحفظ النتيجة على القرص.
  4. يقع مستوى ضغط صورة PNG في النطاق من 0 إلى 9 ، حيث يمثل الرقم 9 أقصى ضغط ويكون 0 هو وضع التخزين. قم بتعيين قيمة الخاصية CompressionLevel.
  5. قم باستدعاء طريقة save لحفظ الصورة.

انسخ الكود التالي والصقه في ملفك الرئيسي:

// قم بتحميل صورة من ملف عن طريق استدعاء طريقة التحميل 
using (Image image = Image.Load( "result.png"))
{
    // حلقة حول نطاق CompressionLevel المحتمل 
    for (int i = 0; i <= 9; i++)
    {
        // قم بإنشاء مثيل لـ PngOptions لكل PNG ناتج ، وقم بتعيين نتيجة CompressionLevel وحفظ على القرص 
        PngOptions options = new PngOptions();
        // مستوى ضغط صورة png في النطاق من 0 إلى 9 ، حيث يمثل الرقم 9 أقصى ضغط ويكون 0 هو وضع التخزين. قم بتعيين قيمة الخاصية CompressionLevel.
        options.CompressionLevel = i;
        // استدعاء طريقة الحفظ لحفظ الصورة 
        image.Save(i + "_dam.png", options);
    }
}

احصل على رخصة مجانية

يمكنك الاستفادة من ترخيص مؤقت مجاني لتجربة واجهة برمجة التطبيقات بدون قيود تقييمية.

تلخيص لما سبق

يمكننا اختتام منشور المدونة التعليمي هذا على أمل أن تكون قد تعلمت كيفية ضغط الصور في C#. علاوة على ذلك ، لقد قمت بالاطلاع على مكتبة ضغط .NET لضغط تنسيقات ملفات الصور PNG و TIFF و JPG برمجيًا. الأهم من ذلك ، يمكنك زيارة الوثائق للتعرف على الميزات الأخرى.

علاوة على ذلك ، نقترح عليك اتباع دليل البدء.

أخيرًا ، يكتب conholdate.com مشاركات مدونة جديدة. لذلك ، يرجى البقاء على اتصال للحصول على تحديثات منتظمة.

طرح سؤال

يمكنك إخبارنا بأسئلتك أو استفساراتك على المنتدى.

أسئلة وأجوبة

كيف أقوم بضغط صورة في .NET core؟

يرجى زيارة هذا الرابط لمعرفة مقتطفات التعليمات البرمجية وطرق واجهة برمجة التطبيقات المكشوفة بواسطة ضغط .NET مكتبة.

كيف يتم ضغط PNG؟

قم بإنشاء مثيل PngOptions لكل PNG ناتج ، وقم بتعيين قيمة خاصية CompressionLevel واستدعاء طريقة save لحفظ الصورة.

أنظر أيضا