Изменить размер изображений C#

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

Почему изменять размер изображений в C#?

Программное изменение размера изображений дает вам возможность автоматизировать и масштабировать задачи обработки изображений без ручного вмешательства. Вот несколько причин, почему это необходимо:

  • Это помогает оптимизировать размеры изображений, чтобы сократить время загрузки и использование пропускной способности в веб-приложениях.
  • Обеспечивает единообразное отображение на различных платформах и размерах экрана.
  • Помогает динамически генерировать предварительные просмотры изображений и миниатюры.
  • Позволяет автоматизировать корректировку изображений в рабочих процессах, таких как генерация документов, архивирование или публикация.

Установка API для изменения размера изображений - C#

Вы можете установить последнюю стабильную версию Conholdate.Total for .NET с помощью следующей команды установки NuGet в вашей системе:

PM> NuGet\Install-Package Conholdate.Total

Изменение размера изображений в C#

Давайте начнем с базового изменения размера растровых изображений, таких как JPG, с использованием фиксированных размеров в C#. Просто выполните следующие шаги:

  1. Загрузите JPG-изображение из файла, используя Image.Load().
  2. Вызовите метод Resize(), чтобы установить ширину и высоту на 300 пикселей каждая.
  3. Сохраните измененное изображение, используя image.Save().

Приведенный ниже образец кода демонстрирует изменение размера изображения на C#:

// Загрузить изображение
using (Image image = Image.Load("aspose-logo.jpg"))
{
    // Измените размер изображения и сохраните измененное изображение
    image.Resize(300, 300);
    image.Save("SimpleResizing_out.jpg");
}

Изменение размера изображений пропорционально в C#

Этот раздел демонстрирует, как изменить размер изображения PNG, сохраняя его исходное соотношение сторон в C#.

  1. Загрузите PNG изображение, используя Image.Load().
  2. Проверьте, кэшируется ли изображение; если нет, вызовите CacheData() для повышения производительности.
  3. Разделите текущую ширину и высоту на 2, чтобы рассчитать новые пропорциональные размеры.
  4. Используйте ResizeWidthProportionally() и ResizeHeightProportionally() для сохранения соотношения сторон.
  5. Сохраните измененное изображение с помощью метода image.Save().

Следующий фрагмент кода демонстрирует пропорциональное изменение размера изображения на C#:

// Загрузить изображение
using (Image image = Image.Load("aspose-logo.png"))
{
    // Кэшировать данные изображения
    if (!image.IsCached)
    {
        image.CacheData();
    }
    
    // Укажите ширину и высоту
    int newWidth = image.Width / 2;
    image.ResizeWidthProportionally(newWidth);
    int newHeight = image.Height / 2;
    image.ResizeHeightProportionally(newHeight);
    
    // Сохранить изображение
    image.Save("ResizeImageProportionally_out.png");

Изменение размера векторных изображений в C#

Этот пример иллюстрирует, как изменить размер векторного изображения (SVG) в C#::

  1. Загрузите векторное изображение SVG с помощью Image.Load().
  2. Умножьте текущую ширину и высоту на коэффициенты масштабирования (10 и 15).
  3. Вызовите Resize() с новой шириной и высотой.
  4. Сохраните измененное изображение как PNG, используя image.Save() с PngOptions.
  5. Укажите SvgRasterizationOptions, чтобы обеспечить правильное отображение векторного изображения.

Пример кода ниже объясняет, как изменять размер векторных изображений на C#:

// Загрузить изображение
using (Image image = Image.Load("image.svg"))
 {
    // Изменить размер изображения в формате PNG
    image.Resize(image.Width * 10,image.Height * 15);
    image.Save("Logotype_10_15.png", new PngOptions()
    {
        VectorRasterizationOptions = new SvgRasterizationOptions()
    });
 }

Бесплатная лицензия на оценку

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

Суммируя

Изменение размера изображений - это важная функция для приложений, которые управляют, отображают или экспортируют визуальный контент. С помощью Conholdate.Total для .NET изменение размера изображений в C# становится эффективным и удобным для разработчиков. Он поддерживает различные форматы и предоставляет точный контроль над поведением изменения размера, независимо от того, работаете ли вы с фиксированными размерами, поддерживая соразмерность, или конвертируя векторные изображения. Однако, если у вас есть какие-либо вопросы, пожалуйста, не стесняйтесь обращаться к нам на forum.

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