Обрезать и изменить размер изображения JPEG с помощью С#

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

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

C# Imaging API для обрезки и изменения размера JPEG

Для обрезки и изменения размера изображений мы будем использовать API Aspose.Imaging for .NET. Это позволяет нам программно создавать, загружать, манипулировать, конвертировать и сжимать изображения или фотографии. Пожалуйста, либоскачайтеDLL API, либо установите его с помощью NuGet.

PM> Install-Package Aspose.Imaging

Обрезка изображений JPEG с помощью C#

Мы можем легко обрезать любое изображение в формате JPEG/JPG со всех сторон по направлению к центру изображения. Для этой цели класс RasterImage предоставляет метод Crop(Int32, Int32, Int32, Int32), который обрезает изображение с заданными значениями сдвига. Он принимает значения сдвига влево, вправо, вверх и вниз в качестве аргументов для обрезки границ изображения. Мы можем обрезать изображения, используя метод кадрирования со сдвигом, выполнив шаги, указанные ниже:

  1. Во-первых, загрузите входное изображение JPG, используя класс RasterImage.
  2. Затем кэшируйте изображение с помощью метода CacheData.
  3. После этого вызовите метод Crop() со значениями сдвига в качестве аргументов.
  4. Наконец, вызовите метод Save() с путем к выходному файлу в качестве аргумента, чтобы сохранить файл обрезанного изображения.

В следующем примере кода показано, как обрезать изображение JPEG с помощью C#.

// В этом примере кода показано, как обрезать изображение JPG, используя подход «обрезка по сдвигу».
// Загрузите существующее изображение в экземпляр класса RasterImage.
RasterImage rasterImage = (RasterImage)Image.Load(@"C:\Files\images\aspose_logo.jpg");

// Перед кадрированием изображение должно быть кэшировано для лучшей производительности.
if (!rasterImage.IsCached)
{
    rasterImage.CacheData();
}

// Определите значения сдвига для всех четырех сторон
int leftShift = 30;
int rightShift = 30;
int topShift = 30;
int bottomShift = 30;

// На основе значений сдвига примените кадрирование к изображению. 
// Метод кадрирования сдвинет границы изображения к центру изображения.
rasterImage.Crop(leftShift, rightShift, topShift, bottomShift);

// Сохраните обрезанное изображение
rasterImage.Save(@"C:\Files\images\cropped_out.jpg");
Обрезка изображений JPEG с помощью C#

Обрезайте изображения JPEG с помощью C#.

Обрезать изображения до определенного размера с помощью С#

Класс RasterImage также предоставляет перегруженный метод Crop(Rectangle), который обрезает определенную область изображения до заданного размера. Он принимает экземпляр класса Rectangle в качестве аргумента. Мы можем обрезать изображения до определенного размера, выполнив следующие шаги:

  1. Во-первых, загрузите входное изображение JPG с помощью класса RasterImage.
  2. Затем кэшируйте изображение с помощью метода CacheData.
  3. Затем инициализируйте объект класса Rectangle с указанным расположением и размером.
  4. После этого вызовите метод Crop() с созданным объектом Rectangle в качестве аргумента.
  5. Наконец, вызовите метод Save() с путем к выходному файлу в качестве аргумента для сохранения файла обрезанного изображения. .

В следующем примере кода показано, как обрезать изображение JPEG до определенного размера с помощью C#.

// В этом примере кода показано, как обрезать изображение JPG, используя метод обрезки по прямоугольнику.
// Загрузите существующее изображение в экземпляр класса RasterImage.
RasterImage rasterImage = (RasterImage)Image.Load(@"C:\Files\images\aspose_logo.jpg");

// Перед кадрированием изображение должно быть кэшировано для лучшей производительности.
if (!rasterImage.IsCached)
{
    rasterImage.CacheData();
}

// Создайте экземпляр класса Rectangle с желаемым размером
Rectangle rectangle = new Rectangle(35, 35, 580, 240);

// Выполнить операцию обрезки над объектом класса Rectangle
rasterImage.Crop(rectangle);

// Сохраните обрезанное изображение
rasterImage.Save(@"C:\Files\images\CroppingByRectangle_out.jpg");
Обрезать изображение определенного размера с помощью C#.

Обрезать изображение до определенного размера с помощью C#.

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

Класс Image предоставляет метод Resize() для изменения размера изображений. Мы можем изменить размер изображений JPEG, выполнив следующие шаги:

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

В следующем примере кода показано, как изменить размер изображения JPEG с помощью C#.

// В этом примере кода показано, как обрезать изображение JPG, используя метод обрезки по прямоугольнику.
// Загрузить существующее изображение
Image image = Image.Load(@"C:\Files\images\aspose_logo.jpg");

// Новая ширина и высота
image.Resize(300, 100);

// Сохраните изображение с измененным размером
image.Save(@"C:\Files\images\SimpleResizing_out.jpg");
Изменение размера изображений JPEG в C#

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

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

Мы можем получить растянутые изображения при изменении размера с фиксированной высотой и шириной. Мы можем использовать пропорциональное изменение размера, чтобы избежать растянутых изображений. Для этой цели класс Image предоставляет методы ResizeWidthProportionally(Int32) и ResizeHeightProportionally(Int32). Пожалуйста, следуйте инструкциям ниже, чтобы изменить размер изображения пропорционально ширине и высоте.

  1. Во-первых, загрузите входное изображение JPG с помощью класса Image.
  2. Затем вызовите метод Image.ResizeWidthProportionally(Int32) с новой шириной в качестве аргументов.
  3. После этого вызовите метод Image.ResizeHeightProportionally(Int32) с новой высотой в качестве аргументов.
  4. Наконец, вызовите метод Save() с путем к выходному файлу в качестве аргумента, чтобы сохранить изображение с измененным размером. .

В следующем примере кода показано, как пропорционально изменить размер изображения JPEG с помощью C#.

// В этом примере кода показано, как обрезать изображение JPG, используя метод обрезки по прямоугольнику.
// Загрузить существующее изображение
Image image = Image.Load(@"C:\Files\images\sample.jpg");

// Ширина
int newШирина = image.Ширина / 2;
image.ResizeШиринаProportionally(newШирина);

// Высота
int newВысота = image.Высота / 2;
image.ResizeВысотаProportionally(newВысота);

// Определить параметры сохранения
JpegOptions saveOptions = new JpegOptions();
saveOptions.Quality = 100;

// Сохранить изображение
image.Save(@"C:\Files\images\sample_out.jpg", saveOptions);

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

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

Вывод

В этой статье мы узнали, как:

  • обрезать изображения JPEG в C#;
  • обрезать изображение до определенного размера;
  • изменять размер изображений JPEG программно;
  • пропорционально изменять размер изображений JPEG.

Кроме того, вы можете узнать больше об Aspose.Imaging for .NET API, используя документацию. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.

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