
JPEG или JPG — один из наиболее часто используемых форматов изображений для хранения изображений и фотографий. В некоторых случаях нам может понадобиться обрезать или повернуть изображения по разным причинам. В этой статье мы узнаем, как обрезать и изменять размер изображений JPEG с помощью C#.
В этой статье должны быть раскрыты следующие темы:
- С# Image API для обрезки и изменения размера JPEG
- Обрезка изображений JPEG с помощью C#
- Обрезать изображения до определенного размера
- Изменение размера изображений JPEG в C#
- Пропорциональное изменение размера изображений JPEG
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), который обрезает изображение с заданными значениями сдвига. Он принимает значения сдвига влево, вправо, вверх и вниз в качестве аргументов для обрезки границ изображения. Мы можем обрезать изображения, используя метод кадрирования со сдвигом, выполнив шаги, указанные ниже:
- Во-первых, загрузите входное изображение JPG, используя класс RasterImage.
- Затем кэшируйте изображение с помощью метода CacheData.
- После этого вызовите метод Crop() со значениями сдвига в качестве аргументов.
- Наконец, вызовите метод 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#.
Обрезать изображения до определенного размера с помощью С#
Класс RasterImage также предоставляет перегруженный метод Crop(Rectangle), который обрезает определенную область изображения до заданного размера. Он принимает экземпляр класса Rectangle в качестве аргумента. Мы можем обрезать изображения до определенного размера, выполнив следующие шаги:
- Во-первых, загрузите входное изображение JPG с помощью класса RasterImage.
- Затем кэшируйте изображение с помощью метода CacheData.
- Затем инициализируйте объект класса Rectangle с указанным расположением и размером.
- После этого вызовите метод Crop() с созданным объектом Rectangle в качестве аргумента.
- Наконец, вызовите метод 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#.
Изменение размера изображений JPEG в C#
Класс Image предоставляет метод Resize() для изменения размера изображений. Мы можем изменить размер изображений JPEG, выполнив следующие шаги:
- Во-первых, загрузите входное изображение JPG с помощью класса Image.
- Затем вызовите метод Resize(int32, int32) с необходимой шириной и высотой в качестве аргументов.
- Наконец, вызовите метод 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#
Мы можем получить растянутые изображения при изменении размера с фиксированной высотой и шириной. Мы можем использовать пропорциональное изменение размера, чтобы избежать растянутых изображений. Для этой цели класс Image предоставляет методы ResizeWidthProportionally(Int32) и ResizeHeightProportionally(Int32). Пожалуйста, следуйте инструкциям ниже, чтобы изменить размер изображения пропорционально ширине и высоте.
- Во-первых, загрузите входное изображение JPG с помощью класса Image.
- Затем вызовите метод Image.ResizeWidthProportionally(Int32) с новой шириной в качестве аргументов.
- После этого вызовите метод Image.ResizeHeightProportionally(Int32) с новой высотой в качестве аргументов.
- Наконец, вызовите метод 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, используя документацию. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.