(기초) 썸네일 이미지

Web/Basic 2012. 5. 23. 11:22 Posted by Request

1)JAI(Java Advanced Imaging) API 개요

- http://www.oracle.com/technetwork/java/current-142188.html

(java advanced imaging 1.1.3 다운로드)

 

2)cos.jar 라이브러리 추가

-http://www.servlets.com

> com.oreilly.servlet (링크 클릭)

> cos-26Dec2008.zip (다운로드)

 

 

 

 

 

 

(소스)

thumbnailForm.jsp
<center>
<h3>썸네일 이미지 폼 예제</h3>
<form action ="thumbnail.jsp" method="post" enctype="multipart/form-data">
이미지 : <input type="file" name="filename"/><p>
<input type="submit" value="전송"/>
</form>
</center>

 

 

 

 

thumbnail.jsp

String imagePath = request.getRealPath(\\image);  //프로젝트 내 가상경로 패스

 

int size = 1*1024*1024;

String filename = "";

 

MultipartRequest multi = new MultipartRequest(request, imagePath, size, "euc-kr", new DefaultFileRenamePolicy());   // 중복된 파일이 있을 경우 새이름으로

 

Enumeration files = multi.getFileNames();   //Enumeration 파일 객체 생성

 

String file = (String)files.nextElement(); //해당되는  파일

filename = multi.getFilessystemName(file);  //해당 파일명

 

ParameterBlock pb = new ParameterBlock();    //작업공간 객체 생성

pb.add(imagePath+"/sm_"+filename);             //작업공간에 새이름으로 썸네일 생성

RenderdOp rOp=JAI.create("fileload",pb);      //PlanarImage클래스 상속, 이미지에 방금수행된 연산의 정보를 포함.

JAI.create("fileload",pb)로부터 RendereOp객체가 리턴이 되면 RenderedOp 클래스의 planarImage클래스의 getBufferedImage() 메소드로부터 BufferedImage 객체를 얻어 올수 있다. BufferedImage객체를 사용해서 메모리에 이미지를 생성한 후 그 이미지를 화면에 표출할수 있고, 파일로 저정 가능하다.

 

BufferedImage bi  = rOp.getAsBufferdImage();

BufferedImage thumb=new BufferedImage(100, 100, BufferedImage.TYPE_INT_RGB);

 

Graphics2d g = thumb.createGraphics();

g.drawImage(bi,0,0,100,100,null);

 

File file = new FIle(imagePath+"\sm_"+filename);

ImageIO.write(thumb,"JPG",file);

 

 

-원본 이미지 <br>

<img src="../image/<%=filename%>">

<p/>

-썸네일 이미지<br>

<img src="../image/sm_<%=filename%>">