/
Nicholas
/
java_basics
Обзор
Документация
Войти
/
Nicholas
/
java_basics
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Multithreading/ImageResizer/src/main/java/ImageResizer.java
38 строк
1 KB
Nicholay Sokolovsky
19.1
13 ноя 2023, 20:00
13 ноя 2023, 20:00
49ec486
Код
Авторство
О чём код?
import lombok.AllArgsConstructor; import org.imgscalr.Scalr; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; import java.io.File; @AllArgsConstructor public class ImageResizer implements Runnable { private File[] files; private String dstFolder; private int newWidth; private long start; @Override public void run() { try { for (File file : files) { BufferedImage image = ImageIO.read(file); if (image == null) { continue; } int newHeight = (int) Math.round( image.getHeight() / (image.getWidth() / (double) newWidth) ); BufferedImage newImage = Scalr.resize(image, newWidth, newHeight); File newFile = new File(dstFolder + "/" + file.getName()); ImageIO.write(newImage, "jpg", newFile); } System.out.println("Files count: "+files.length); System.out.println("Duration: " + (System.currentTimeMillis() - start)); } catch (Exception ex) { ex.printStackTrace(); } } }