java-image-scaling์ ํตํด ๋ณ๋์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ถ๊ฐ ์์ด ์ด๋ฏธ์ง ํ์ผ์ ํฌ๊ธฐ๋ฅผ ์์ฐ์ค๋ฝ๊ฒ ์ค์ผ ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ ๋ ํผ๋ฐ์ค๋ค์ ์ดํด๋ณด๋ฉด ๋ณดํต ์๋์ ๊ฐ์ ์ ์ฐจ๋ฅผ ๊ฑฐ์ณค์ต๋๋ค.
- Disk์ ์๋ณธ์ ์ ์ฅํ๋ค.
- Resize ํ๋ค. (์๋ณธ๊ณผ Resize ํ์ผ ๋๊ฐ๊ฐ ์กด์ฌํ๋ ์ํ)
- (์๋ณธ์ ์ญ์ ํ๋ค)
์ ๊ณผ์ ์ ๊ฑฐ์นฉ๋๋ค.
ํ์ง๋ง ๋ด๊ฐ ๊ตฌํํ๊ณ ์ถ์ ๋ถ๋ถ์
- ์๋ณธ ํ์ผ์ ์ ์ฅํ๊ณ ์ถ์ง ์์์.
- ์ ์ฅํ๊ณ ์ญ์ ํ๋ ๊ณผ์ ์ ๊ฑฐ์น๊ณ ์ถ์ง ์์์.
ํ์ผ์ Image IO๋ก ์ฝ๊ณ , ์ฐ๊ธฐ๋ง ํ์ฌ
๊ฐ๋จํ ํด๊ฒฐ ํ ์ ์์๊ณ , ์์ผ๋ก ์์ฃผ ์จ๋จน์ ๋ฏํฉ๋๋ค.
public static void resize(File originFile, File resizeFile) throws IOException {
BufferedImage origin = ImageIO.read(originFile.getInputStream());
int originWidth = origin.getWidth();
int originHeight = origin.getHeight();
int newWidth = 1000;
int newHeight = originHeight;
if (originWidth > newWidth) {
// ๊ธฐ์กด ์ด๋ฏธ์ง ๋น์จ ์ ์ง
newHeight = (originHeight * newWidth) / originWidth;
} else {
newWidth = originWidth;
}
BufferedImage resizedImage = new BufferedImage(newWidth, newHeight, BufferedImage.SCALE_SMOOTH);
Graphics2D graphics2D = resizedImage.createGraphics();
graphics2D.drawImage(originFile, 0, 0, newWidth, newHeight, null);
graphics2D.dispose();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(resizedImage, "jpg", resizeFile);
baos.flush();
}
'Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Java Enum ํ์ฉํ๊ธฐ (0) | 2023.05.30 |
---|
๋๊ธ