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

C# Image Compression API - تنزيل مجاني

Aspose.Imaging for .NET عبارة عن واجهة برمجة تطبيقات قوية لمعالجة الصور تتيح لك معالجة تنسيقات الصور الشائعة من داخل تطبيقات .NET الخاصة بك. بالإضافة إلى ذلك ، تتيح لك واجهة برمجة التطبيقات (API) تطبيق أنواع مختلفة من الضغط على الصور بما في ذلك PNG و JPEG و TIFF. من أجل استخدام API ، يمكنك إما تنزيل DLL الخاصة به أو تثبيته باستخدام NuGet.

Install-Package Aspose.Imaging

ضغط صور PNG في C#

بالنسبة لصور PNG ، يمكنك ضبط مستوى الضغط من 0 إلى 9 حيث يكون 9 هو الحد الأقصى للضغط و 0 هو وضع التخزين. فيما يلي خطوات ضغط صورة PNG باستخدام Aspose.Imaging for .NET.

يوضح نموذج التعليمات البرمجية التالي كيفية ضغط صور PNG باستخدام C#.

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

ضغط صور JPEG في C#

من أجل التعامل مع صور JPEG ، يوفر Aspose.Imaging for .NET فئة JpegOptions التي تقدم أنواع الضغط التالية لصور JPEG.

  • حدود
  • تدريجي
  • بدون فقدان بيانات
  • JpegLs

فيما يلي خطوات ضغط صور JPEG باستخدام أحد أنواع الضغط المذكورة أعلاه.

يوضح نموذج التعليمات البرمجية التالي كيفية ضغط صورة JPEG باستخدام C#.

// المسار إلى دليل المستندات.
string dataDir = RunExamples.GetDataDir_JPEG();
          
using (var original = Image.Load(dataDir+"ColorGif.gif"))
{
    var jpegOptions = new JpegOptions()
{
    ColorType = JpegCompressionColorMode.Grayscale,
    CompressionType = JpegCompressionMode.Progressive,
          
};
    original.Save("D:/temp/result.jpg", jpegOptions);
}

تطبيق الضغط على صور TIFF في C#

يوفر Aspose.Imaging for .NET نطاقًا واسعًا من أنواع الضغط لصور TIFF بما في ذلك LZW و Packbits و CCIT Fax 3 و 4 وما إلى ذلك. يمكنك تحديد النوع المناسب وفقًا لمتطلباتك. فيما يلي خطوات ضغط صورة TIFF.

يوضح نموذج التعليمات البرمجية التالي كيفية ضغط صور TIFF باستخدام C#.

// المسار إلى دليل المستندات.
string dataDir = RunExamples.GetDataDir_ModifyingAndConvertingImages();

// قم بتحميل صورة من خلال موقع مسار الملف أو الدفق
Image image = Image.Load(dataDir + "SampleTiff.tiff");

// قم بإنشاء مثيل من TiffOptions للصورة الناتجة
TiffOptions outputSettings = new TiffOptions(TiffExpectedFormat.Default);

// قم بتعيين BitsPerSample و Compression و Photometric mode و graycale palette
outputSettings.BitsPerSample = new ushort[] { 4 };
outputSettings.Compression = TiffCompressions.Lzw;
outputSettings.Photometric = TiffPhotometrics.Palette;
outputSettings.Palette = ColorPaletteHelper.Create4BitGrayscale(false);
image.Save(dataDir + "SampleTiff_out.tiff", outputSettings);

استنتاج

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

أنظر أيضا

معلومات: باستخدام محول Aspose JPG إلى PPT أو PNG إلى PPT ، يمكنك إنشاء عروض PowerPoint التقديمية من صور بسيطة.