Ми часто отримуємо зображення розміром, який не відповідає нашим вимогам, тому ми повинні змінити їх розмір відповідно. У цій статті ви дізнаєтесь, як змінювати розміри зображень у C# у своїх програмах .NET. Крім того, за допомогою прикладів коду C# ми продемонструємо, як змінювати розмір растрових і векторних зображень.
- C# API зміни розміру зображення
- Зміна розміру растрових зображень
- Змініть розмір зображення пропорційно
- Зміна розміру векторних зображень
Зміна розміру зображень у C# - встановлення API
Щоб змінити розмір зображень. ми будемо використовувати Aspose.Imaging for .NET. Це потужний API обробки зображень для роботи з різними типами растрових і векторних зображень. Ви можете завантажити DLL API або встановити його за допомогою NuGet.
PM> Install-Package Aspose.Imaging
Зміна розміру растрових зображень у C#
Існує два методи зміни розміру растрових зображень (PNG, GIF, JPEG тощо): проста зміна розміру та зміна розміру за допомогою типу зміни розміру. Під час простої зміни розміру зображення змінюються шляхом надання висоти та ширини. У той час як другий метод використовує інші методи зміни розміру. У наступних розділах показано, як змінити розмір зображення за допомогою кожного з вищезгаданих методів.
Проста зміна розміру зображення в C#
Нижче наведено кроки для зміни розміру зображення в C#.
- Спочатку завантажте файл зображення за допомогою класу Image.
- Потім змініть розмір зображення, викликавши метод Image.Resize(Int32, Int32).
- Нарешті, збережіть зображення зі зміненим розміром за допомогою методу Image.Save(string).
У наведеному нижче прикладі коду показано, як змінити розмір зображення в програмах .NET.
// Завантажити зображення
using (Image image = Image.Load("aspose-logo.jpg"))
{
// Змініть розмір зображення та збережіть його
image.Resize(300, 300);
image.Save("SimpleResizing_out.jpg");
}
C# Змінити розмір зображення за допомогою типу зміни розміру
Перелік ResizeType використовується для визначення методів зміни розміру, які можна використовувати відповідно до ваших вимог. Повний список підтримуваних типів зміни розміру доступний тут. Нижче наведено кроки для зміни розміру зображення за допомогою певної техніки зміни розміру.
- Спочатку завантажте зображення за допомогою класу Image.
- Потім змініть розмір зображення, викликавши метод Image.Resize(Int32, Int32, ResizeType).
- Нарешті, збережіть зображення зі зміненим розміром за допомогою методу Image.Save(string).
Наведений нижче приклад коду змінює розмір зображення за допомогою певної техніки зміни розміру.
// Завантажити зображення
using (Image image = Image.Load("aspose-logo.jpg"))
{
// Змініть розмір зображення та збережіть його
image.Resize(300, 300, ResizeType.LanczosResample);
image.Save("SimpleResizing_out.jpg");
}
Пропорційне змінення розміру зображення в C#
Зміна розміру зображення за допомогою визначення висоти та ширини може призвести до зменшення або масштабування зображення. Тому вам доведеться розрахувати співвідношення сторін вручну. Однак будь-який прорахунок співвідношення сторін може призвести до розтягнутого зображення. Щоб уникнути таких проблем, ви можете використовувати пропорційну зміну розміру. Нижче наведено кроки для досягнення цього.
- Спочатку завантажте файл зображення за допомогою класу Image.
- Потім кешуйте дані зображення за допомогою методу Image.CacheData().
- Вкажіть нову висоту та ширину зображення.
- Обчисліть значення пропорцій за допомогою методів Image.ResizeWidthProportionally(Int32) і Image.ResizeHeightProportionally(Int32).
- Нарешті, збережіть зображення зі зміненим розміром за допомогою методу Image.Save(string).
Якщо ви хочете використовувати будь-який конкретний тип зміни розміру під час пропорційної зміни розміру зображень, використовуйте методи перевантаження Image.ResizeWidthProportionally(Int32, ResizeType) і Image.ResizeHeightProportionally(Int32, ResizeType).
У наступному прикладі коду показано, як пропорційно змінити розмір зображення за допомогою 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#
Aspose.Imaging for .NET також дозволяє змінювати розмір векторних зображень і зберігати їх у форматі растрового зображення. У наведеному нижче прикладі коду показано, як змінити розмір зображення SVG і зберегти результат у форматі PNG.
// Завантажити зображення
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()
});
}
Зміна розміру зображень C# за допомогою безкоштовної ліцензії
Ви можете отримати безкоштовну тимчасову ліцензію, щоб змінювати розмір зображень без обмежень оцінки.
Висновок
У цій статті ви дізналися, як програмно змінювати розміри зображень у C#. Крім того, зразки коду продемонстрували, як виконати просту зміну розміру зображень або змінити розмір за допомогою певного типу. Ми також розглянули, як уникнути ручного обчислення пропорцій під час зміни розміру зображень. Крім того, зміна розміру векторних зображень також обговорюється в кінці. Крім того, ви можете дізнатися більше про API обробки зображень .NET за допомогою документації. Також ви можете завантажити повний пакет зразків вихідного коду з GitHub. У разі будь-яких питань ви можете зв’язатися з нами на нашому форумі.