فشرده سازی تصویر یک روش محبوب برای کاهش اندازه تصاویر است. به شما امکان می دهد فضا و زمان مورد نیاز برای ذخیره و انتقال تصاویر را به ترتیب به حداقل برسانید. تکنیک های فشرده سازی مختلفی در دسترس است که تصاویر را به گونه ای فشرده می کند که کیفیت تصاویر کاهش نیابد. مطابق با آن، این پست روش‌های ساده‌ای را برای فشرده‌سازی تصاویر PNG، JPEG و TIFF به‌صورت برنامه‌نویسی با استفاده از C# در اختیار شما قرار می‌دهد.

C# Image Compression API - دانلود رایگان

Aspose.Imaging for .NET یک API پردازش تصویر قدرتمند است که به شما امکان می دهد فرمت های تصویری محبوب را از داخل برنامه های NET خود دستکاری کنید. علاوه بر این، API به شما اجازه می دهد تا انواع مختلفی از فشرده سازی را روی تصاویر از جمله PNG، JPEG و TIFF اعمال کنید. برای استفاده از API، می‌توانید DLL آن را دانلود یا با استفاده از NuGet نصب کنید.

Install-Package Aspose.Imaging

فشرده سازی تصاویر PNG در سی شارپ

برای تصاویر PNG، می توانید سطح فشرده سازی را از 0 تا 9 تنظیم کنید که در آن 9 حداکثر فشرده سازی و 0 حالت ذخیره است. در زیر مراحل فشرده سازی یک تصویر PNG با استفاده از Aspose.Imaging برای دات نت آمده است.

نمونه کد زیر نحوه فشرده سازی تصاویر PNG با استفاده از سی شارپ را نشان می دهد.

// مسیر دایرکتوری اسناد
string dataDir = RunExamples.GetDataDir_PNG();
 
// بارگیری یک تصویر از فایل (یا جریان)
using (Image image = Image.Load(dataDir + "aspose_logo.png"))
{
    // حلقه روی محدوده CompressionLevel ممکن است
   for (int i = 0; i <= 9; i++)
    {
        // یک نمونه از PngOptions برای هر PNG حاصل، تنظیم سطح فشرده سازی و ذخیره نتیجه روی دیسک ایجاد کنید.
        PngOptions options = new PngOptions();
        options.CompressionLevel = i;
        image.Save(i + "_out.png", options);
    }
}

فشرده سازی تصاویر JPEG در سی شارپ

به منظور مقابله با تصاویر 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 در سی شارپ

Aspose.Imaging برای دات نت طیف وسیعی 18 از انواع فشرده سازی را برای تصاویر 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، فشرده سازی، حالت Photometric و پالت خاکستری را تنظیم کنید
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 با سی شارپ آشنا شدید. تکنیک های مختلف فشرده سازی پشتیبانی شده نیز برای تصاویر JPEG و TIFF فهرست شده است. می توانید با استفاده از مستندات درباره API پردازش تصویر دات نت بیشتر کاوش کنید.

همچنین ببینید

اطلاعات: با استفاده از مبدل Aspose JPG به PPT یا PNG به PPT، می‌توانید ارائه‌های پاورپوینت را از تصاویر ساده ایجاد کنید.