Якщо ви шукаєте простий у реалізації, але точний метод програмної зміни розміру зображень, ви потрапили в потрібне місце. У цій статті показано, як змінити розмір зображень у Java за кілька простих кроків.

Змініть розмір зображення за допомогою засобу зміни розміру зображення Java

Редактори зображень забезпечують функцію зміни розміру, яка дозволяє змінювати розмір зображень відповідно до ваших вимог. Під час розробки редактора зображень або обробки зображень у ваших програмах Java вам може знадобитися змінити розмір зображень програмно. Щоб досягти цього, у цій статті описано, як змінити розмір зображень у Java. Крім того, ви також навчитеся змінювати розміри зображень за допомогою різних технік.

Зміна розміру зображень у Java – встановлення API

Aspose.Imaging for Java — це широко використовуваний API для обробки зображень, який дозволяє досить легко маніпулювати зображеннями. У цій статті ми будемо використовувати цей API для зміни розміру зображень. Ви можете завантажити API з розділу завантажень. Крім того, ви можете встановити його з Maven, використовуючи наступну конфігурацію в pom.xml.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-imaging-java</artifactId>
    <version>21.12</version>
    <classifier>jdk16</classifier>
</dependency>

Зміна розміру растрових зображень у Java

Aspose.Imaging for Java надає два способи зміни розміру растрових зображень. Один — проста зміна розміру, у якій ви вказуєте висоту та ширину результуючого зображення. У той час як у другому методі ви також вказуєте тип зміни розміру, який повідомляє API про техніку зміни розміру, яку слід використовувати, наприклад повторну вибірку Lanczos, повторну вибірку найближчого сусіда тощо. У наступних розділах ми обговоримо, як реалізувати кожен із ці методи для зміни розміру зображень.

Проста зміна розміру зображень у Java

У цьому методі зміни розміру вам потрібно лише вказати розміри отриманого зображення. Нижче наведено кроки для зміни розміру зображення в Java.

  • Спочатку використовуйте клас Image, щоб завантажити зображення, розмір якого потрібно змінити.
  • Потім викличте метод Image.resize(int, int), щоб змінити розмір зображення.
  • Нарешті, збережіть отримане зображення за допомогою методу Image.save(string).

Наведений нижче фрагмент коду змінює розмір зображення до заданої висоти та ширини.

// Завантажити зображення
Image image = Image.load("aspose-logo.jpg");

// Визначте нові розміри
image.resize(300, 300);

// Зберегти зображення
image.save("SimpleResizing_out.jpg");

Java змінює розмір зображення за допомогою певного типу

Aspose.Imaging for Java надає широкий спектр методів зміни розміру, які перелічені тут. Ви можете вибрати той, який відповідає вашому сценарію. Наприклад, Lanczos Resampling рекомендується для якісного зміни розміру зображення, однак він працює повільніше. У той час як для швидкої зміни розміру використовується Nearest Neighbor Resampling, однак це погіршує якість зображення. Нижче наведено кроки для зміни розміру зображення за допомогою певної техніки зміни розміру.

  • Спочатку використовуйте клас Image, щоб завантажити зображення, розмір якого потрібно змінити.
  • Потім викличте метод Image.resize(int, int, ResizeType), щоб змінити розмір зображення за допомогою певної техніки.
  • Нарешті, збережіть отримане зображення за допомогою методу Image.save(string).

У наведеному нижче прикладі коду показано, як змінити розмір зображення за допомогою певної техніки.

// Завантажити зображення
Image image = Image.load("aspose-logo.jpg");

// Визначте нові розміри та змініть тип розміру
image.resize(300, 300, ResizeType.LanczosResample);

// Зберегти зображення
image.save("SimpleResizing_out.jpg");

Пропорційне змінення розміру зображення в Java

Співвідношення сторін обчислюється під час зміни розміру зображень, щоб уникнути зменшення або масштабування отриманих зображень. Однак будь-який неправильний розрахунок співвідношення сторін може спричинити розтягнення зображень. Щоб позбутися таких проблем, ви можете дозволити API самостійно піклуватися про співвідношення сторін. Нижче наведено кроки, щоб змінити розмір зображення пропорційно.

  • Спочатку використовуйте клас Image, щоб завантажити зображення, розмір якого потрібно змінити.
  • Кешуйте дані зображення за допомогою методу Image.cacheData().
  • Визначте висоту та ширину отриманого зображення.
  • Викличте методи Image.resizeWidthProportionally(int) і Image.resizeHeightProportionally(int), щоб обчислити значення пропорцій.
  • Нарешті, збережіть отримане зображення за допомогою методу Image.save(string).

Ви також можете вказати певний тип зміни розміру під час пропорційної зміни розміру зображення за допомогою методів перевантаження Image.resizeWidthProportionally(int, ResizeType) і Image.resizeHeightProportionally(int, ResizeType).

У наступному прикладі коду Java показано, як пропорційно змінити розмір зображення.

// Завантажити зображення
Image image = Image.load("aspose-logo.jpg");

// Визначте нові розміри
int newWidth = image.getWidth() / 2;
image.resizeWidthProportionally(newWidth);
int newHeight = image.getHeight() / 2;
image.resizeHeightProportionally(newHeight);

// Зберегти зображення
image.save("SimpleResizing_out.jpg");

Зміна розміру векторних зображень у Java

Ви також можете змінити розмір векторного зображення та зберегти його у форматі растрового зображення, наприклад PNG, JPEG, GIF тощо. Наступний код демонструє, як досягти цього в Java за допомогою Aspose.Imaging.

// Завантажити векторне зображення
try (Image image = Image.load("image.svg"))
{
  	// Визначте нові розміри
	image.resize(image.getWidth() * 10,image.getHeight() * 15);
  
  	// Збережіть зображення як PNG
	image.save("Logotype_10_15.png", new PngOptions());
}

Java Image Resizing API - Отримайте безкоштовну ліцензію

Ви можете використовувати Aspose.Imaging for Java і змінювати розмір зображень без обмежень оцінки, отримавши безкоштовну тимчасову ліцензію.

Висновок

У цій статті ви дізналися, як змінити розмір зображень у Java. Крім того, у статті описано, як змінити розмір зображень за допомогою різних методів, таких як перевибірка Lanczos, перевибірка найближчого сусіда тощо. Крім того, також обговорюється пропорційна зміна розміру зображення та зміна розміру векторних зображень у Java. Ви можете відвідати документацію, щоб дізнатися більше про API обробки зображень Java. Крім того, ви можете ознайомитися зі зразками вихідного коду, доступними на GitHub. У разі будь-яких запитань ви можете зв’язатися з нами на нашому форумі.

Дивись також