• 분류 전체보기 (132)
    • 공지사항 (2)
    • 블로그팁 (4)
    • GKSkin (5)
      • 소개 (1)
      • 스킨다운로드 (1)
      • 사용법 (3)
    • GKTool (4)
      • 소개 (1)
      • 시연영상 (3)
    • 코드저장소 (41)
      • javascript (2)
      • jQuery 플러그인 (7)
      • java (12)
      • sql (10)
      • mybatis(ibatis) (3)
      • 스마트에디터연동 (3)
      • 다음에디터연동 (2)
      • 샘플링답변 (2)
    • 웹개발강좌 (48)
      • jQuery (8)
      • jQueryUI (5)
      • ExtJS (28)
      • 부트스트랩 (7)
    • 모바일웹강좌 (1)
      • SenchaTouch (1)
    • 개발에필요한연동법 (27)
      • 스프링연동 (16)
      • 리눅스서버구축 (11)
댓글
/6
2014. 10. 6. 01:07
ImageIO를 이용하여 자바 썸네일 이미지 생성코드 구현하기

일반적으로 웹화면에서 이미지태그의 가로/세로를 지정합니다. 

화면에 일정하게 보여줘야하는 이미지인경우 

어떤이미지는 크고, 작고...

 뒤죽박죽이면 안되기 때문입니다.

작은 사이즈의 넓이,높이를 고정하는거는 

이미지만 깨질뿐 속도에는 별 영향이 없는걸로 알고있습니다.

그 반대로 큰 이미지를 작은 사이즈로 구겨넣으려고 할 경우 버벅거릴 경우가 존재합니다

이럴 경우를 위하여 큰사이즈의 이미지를 축소하는 작업이 필요합니다.

썸네일생성이라고 하는데 이부분에 대하여 간단하게 구현을 해보도록 하겠습니다.



오키






위 이미지를 가지고 썸네일을 만들어볼까 합니다 


위치 + 경로는 ("D:\original_image.jpg") 입니다.


용량이 1MB이상이고 크기는 1936 x 1296 입니다.


해당 이미지를 가로(100) X 세로(100) 사이즈로 구겨 넣을 경우 

보기도 않좋고 상당히 느리게 로딩이 됩니다.

(물론 네트워크 환경에 따라서 그럴수도 아닐수도 있습니다 ^^;;)


그럼 썸네일 코드를 작성해보도록 하겠습니다.

JDK1.6 이상 사용가능한 코드로 알고있습니다. ^^


패키지명 - com.thumbnail

클래스명 - Thumbnail



JAVA 썸네일 생성코드


public class Thumbnail {
	public static void main(String args[]){
		try {
			//썸네일 가로사이즈
			int thumbnail_width = 100;
			//썸네일 세로사이즈
			int thumbnail_height = 100;
			//원본이미지파일의 경로+파일명
			File origin_file_name = new File("D:"+File.separator+"original_image.jpg");
			//생성할 썸네일파일의 경로+썸네일파일명
			File thumb_file_name = new File("D:"+File.separator+"thumbnail_image.jpg");

			BufferedImage buffer_original_image = ImageIO.read(origin_file_name);
			BufferedImage buffer_thumbnail_image = new BufferedImage(thumbnail_width, thumbnail_height, BufferedImage.TYPE_3BYTE_BGR);
			Graphics2D graphic = buffer_thumbnail_image.createGraphics();
			graphic.drawImage(buffer_original_image, 0, 0, thumbnail_width, thumbnail_height, null);
			ImageIO.write(buffer_thumbnail_image, "jpg", thumb_file_name);
			System.out.println("썸네일 생성완료");
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

코드실행결과





생성된 썸네일 파일을 한번 보도록 할까요?





이미지 사이즈를 줄인것도 아니고 순수하게 위 코드를 이용하여 생성한 파일입니다.

1MB가 됐던 파일이 위 코드를 통하여 5KB로 줄었고 

사이즈 역시 100 x 100으로 생성이 되었습니다.


프로젝트에 유용하게 사용하시길 ^^


Bye



by 개발로짜

저작자표시 비영리 변경금지 (새창열림)

'코드저장소 > java' 카테고리의 다른 글

POI라이브러리를 이용하여 엑셀파일(xls,xlsx) 에 데이터 넣어서 파일로 만들기  (1) 2014.10.07
DTO,VO에 정의되어있는 변수명 및 갯수에 관계없이 변수명과 value값 한방에 가져오기  (0) 2014.10.07
Map객체의 key값을 읽어서 value값 한번에 추출하기  (0) 2014.10.07
JSTL의 c:forTokens을 이용하여 확장자명 찾기  (0) 2014.10.06
JSON 라이브러리를 이용하여 object생성과 문자열을 object형으로 변환해보기  (0) 2014.10.06

티스토리툴바