Как сжимать изображения в C#

Как сжимать изображения в C#

Интегрируйте эту библиотеку сжатия .NET для сжатия популярных форматов файлов изображений, таких как TIFF, JPG, PNG и других. В крупных организациях хранение файлов является критическим вопросом, и вы всегда стремитесь оптимизировать свои бизнес-файлы и сделать их размер эффективным для памяти. Поэтому вы можете использовать эту библиотеку для программного сжатия изображений в приложении .NET. Кроме того, вы также получите фрагменты кода и инструкции по сжатию изображений в C#|.

В этом руководстве будут рассмотрены следующие моменты:

Установка библиотеки сжатия .NET

Что касается установки этого API, это очень просто. Вы можете либо загрузить его DLL, либо установить его, выполнив следующую команду в диспетчере пакетов NuGet.

Install-Package Aspose.Imaging

Сжать JPG программно

Теперь мы реализуем, как программно сжимать изображения на C#. Вы можете выполнить шаги и фрагмент кода, указанные ниже:

  1. Создайте экземпляр класса Image и вызовите метод Load для загрузки изображения JPG.
  2. Инициализировать объект класса JpegOptions.
  3. Установите тип цвета для изображения JPEG, установив значение свойства ColorType.
  4. Укажите тип сжатия, задав значение свойства CompressionType.
  5. Метод Save сохранит изображение.

Скопируйте и вставьте следующий код в основной файл:

// Создайте экземпляр Image и класса и вызовите метод Load для загрузки изображения 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 };
    // Также установите значение свойства Compression 
    outputSettings.Compression = TiffCompressions.Lzw;
    // Наконец, установите свойства Photometric, Palette.  
    outputSettings.Photometric = TiffPhotometrics.Palette;
    outputSettings.Palette = ColorPaletteHelper.Create4BitGrayscale(false);
    // Вызовите метод Save, чтобы сохранить изображение. 
    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, чтобы сохранить изображение.

Скопируйте и вставьте следующий код в основной файл:

// Загрузите изображение из файла, вызвав метод Load 
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);
    }
}

Получить бесплатную лицензию

Вы можете воспользоваться бесплатной временной лицензией, чтобы попробовать API без ограничений на пробную версию.

Подведение итогов

Мы можем завершить этот обучающий пост в блоге, надеясь, что вы научились сжимать изображения в C#. Кроме того, вы использовали эту библиотеку сжатия .NET для программного сжатия форматов файлов изображений PNG, TIFF и JPG. Самое главное, вы можете посетить документацию, чтобы узнать о других функциях.

Кроме того, мы рекомендуем вам следовать нашему Руководству по началу работы.

Наконец, conholdate.com пишет новые сообщения в блоге. Поэтому, пожалуйста, оставайтесь на связи для регулярных обновлений.

Задайте вопрос

Вы можете сообщить нам о своих вопросах или запросах на нашем форуме.

Часто задаваемые вопросы

Как сжать изображение в ядре .NET?

Пожалуйста, посетите эту ссылка, чтобы узнать фрагменты кода и методы API, предоставляемые этой .NET-компрессией библиотека.

Как сжать PNG?

Создайте экземпляр PngOptions для каждого результирующего PNG, установите значение свойства CompressionLevel и вызовите метод save для сохранения изображения.

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