-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathImageResizer.java
More file actions
61 lines (48 loc) · 2.59 KB
/
ImageResizer.java
File metadata and controls
61 lines (48 loc) · 2.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
//MOSTLY GENERATED USING GPT3
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class ImageResizer {
public static void resize(String sourceImagePath, String destImagePath, int targetWidth, int targetHeight) throws IOException {
File file = new File(sourceImagePath);
File destFolder = new File(destImagePath);
if (!destFolder.exists()) {
return;
}
if (file.isFile() && (file.getName().toLowerCase().endsWith(".jpg") || file.getName().toLowerCase().endsWith(".png"))) {
String formatName = file.getName().toLowerCase().endsWith(".jpg") ? "jpg" : "png";
BufferedImage originalImage = ImageIO.read(file);
Image resizedImage = originalImage.getScaledInstance(targetWidth, targetHeight, Image.SCALE_SMOOTH);
BufferedImage bufferedResizedImage = new BufferedImage(targetWidth, targetHeight, BufferedImage.TYPE_INT_RGB);
Graphics2D g2d = bufferedResizedImage.createGraphics();
g2d.drawImage(resizedImage, 0, 0, null);
g2d.dispose();
File outputFile = new File(destFolder, file.getName());
ImageIO.write(bufferedResizedImage, formatName, outputFile);
}
}
public static void resizeAll(String sourceFolderPath, String destFolderPath, int targetWidth, int targetHeight) throws IOException {
File sourceFolder = new File(sourceFolderPath);
File destFolder = new File(destFolderPath);
if (!destFolder.exists()) {
destFolder.mkdirs();
}
File[] files = sourceFolder.listFiles();
for (File file : files) {
if (file.isFile() && (file.getName().toLowerCase().endsWith(".jpg") || file.getName().toLowerCase().endsWith(".png"))) {
String formatName = file.getName().toLowerCase().endsWith(".jpg") ? "jpg" : "png";
BufferedImage originalImage = ImageIO.read(file);
Image resizedImage = originalImage.getScaledInstance(targetWidth, targetHeight, Image.SCALE_SMOOTH);
BufferedImage bufferedResizedImage = new BufferedImage(targetWidth, targetHeight, BufferedImage.TYPE_INT_RGB);
Graphics2D g2d = bufferedResizedImage.createGraphics();
g2d.drawImage(resizedImage, 0, 0, null);
g2d.dispose();
File outputFile = new File(destFolder, file.getName());
ImageIO.write(bufferedResizedImage, formatName, outputFile);
}
}
}
}