본문 바로가기

Language/Java / JSP

[JSP] 이미지 사이즈(width, height) 알아내기

반응형



서버에 저장되어 있는 이미지의 가로,세로 사이즈를 알아내야 할 일이 종종 있다.

특히 나 같은경우 사용자가 이미지를 업로드할때 사이즈를 확인하여
가로, 세로 길이가 1024px 를 넘어서는 경우 이미지 리사이즈를 해서 서버에 저장해야 할 일들이 많았다.

또 웹페이지에서 사용자에게 보여지는 이미지를 특정 크기로 리사이즈를 하기도 하는데
예전 버전의 브라우저(IE6, 7)에서는 자바스크립트로 컨트롤 하는게 여간 쉽지 않았다.

특히 자바스크립트로 이미지 리사이즈를 처리하면 클라이언트단에서 처리하게 되므로, PC 성능에 따라
제대로 처리가 안되는 경우가 있었다.

그래서 당시에는 이미지 크기를 고정시키거나, 이미지 사이즈를 계산해서 비율대로 크기를 정해 태그에 넣어놓곤 했다.


그런 이유로 아직도 이미지를 다룰때 이런저런 용도로 이미지 사이즈를 알아내는 코드를 종종 사용한다.


<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>

<%@ page import="java.awt.Image" %>
<%@ page import="javax.swing.ImageIcon" %>

<%

	request.setCharacterEncoding("UTF-8");


	// 서버의 context 경로 구하기
	String root = request.getSession().getServletContext().getRealPath("/");

	// 이미지 파일 위치
	String filename = root + "upload/image/test.jpg" ;

	// 이미지 읽기
	Image img = new ImageIcon(filename).getImage();

	int imgWidth = img.getWidth(null);		//가로 사이즈
	int imgHeight = img.getHeight(null);		//세로 사이즈

	out.println(imgWidth);
	out.println(imgHeight);

%>