Сжатие изображений — популярный способ уменьшения размера изображений. Это позволяет минимизировать пространство и время, необходимые для хранения и передачи изображений соответственно. Доступны различные методы сжатия, которые сжимают изображения таким образом, что качество изображений не ухудшается. В соответствии с этим, этот пост предлагает вам несколько простых способов программного сжатия изображений PNG, JPEG и TIFF с помощью C#.

C# API сжатия изображений — скачать бесплатно

Aspose.Imaging for .NET — это мощный API для обработки изображений, который позволяет вам управлять популярными форматами изображений из ваших приложений .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.

  • Базовый уровень
  • прогрессивный
  • Без потерь
  • JPEG

Ниже приведены шаги для сжатия изображений 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 для .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, сжатие, фотометрический режим и палитру оттенков серого.
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 также перечислены различные поддерживаемые методы сжатия. Вы можете узнать больше об API обработки изображений .NET, используя документацию.

Смотрите также

Информация: Используя конвертер Aspose JPG в PPT или PNG в PPT, вы можете создавать презентации PowerPoint из простых изображений.