썸네일을 만들기 위해 JAI API 다운로드 및 설치는 여기서
https://jai.dev.java.net/binary-builds.html#Release_builds
"jai-1_1_2_01-lib-windows-i586-jdk.exe"를 다운 받는다.
실행만 하면 알아서 설치해 준단다.. 아래 내용을 ..
JAI(Java Advance Imaging) API를사용하기 위해서는 중요한
jai_codec.jar,jai_core.jar 두 파일을
자바홈/jre/lib/ext 폴더에 설치해야하는디 자동이네..
폼 파일
========= thumbnailForm.jsp =========
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<html>
<head>
<title>썸네일 이미지 생성</title>
</head>
<body>
<form name="fileForm" method="post" action="thumbnailPro.jsp" enctype="multipart/form-data">
<input type="file" name="image" /><br />
<input type="submit" value="썸네일 이미지 생성" />
</form>
</body>
</html>
====================================
처리파일
========= thumbnailPro.jsp =========
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<%@ page import="com.oreilly.servlet.MultipartRequest"
import="com.oreilly.servlet.multipart.DefaultFileRenamePolicy"
import="thumbnail.*"
import="java.util.*"
import="java.io.*"
%>
<%
String realFolder = "";
String saveFolder = "thumbnail/saveImage";
String encType="euc-kr";
int maxSize = 5*1024*1024;
ServletContext context = getServletContext();
realFolder = context.getRealPath(saveFolder);
try{
MultipartRequest multi = null;
// 전송을 담당할 콤퍼넌트를 생성하고 파일을 전송함
multi = new MultipartRequest(request,realFolder,maxSize,encType,new DefaultFileRenamePolicy());
Enumeration files = multi.getFileNames();
int zoom=5;
// 파일 정보가 있으면 실행
while(files.hasMoreElements()){
String name = (String)files.nextElement(); // input type=file 인 파라미터 이름
String filename = multi.getFilesystemName(name); // 서버에 저장된 파일이름
String orgFileName = realFolder+"\\"+filename; //경로+ 원본 이미지 파일명
String thumbFileName = realFolder+"\\small"+filename; //경로+ 썸네일 이미지파일명
Thumbnail.createImage(orgFileName,thumbFileName,zoom); // 썸네일 이미지생성
%>
원본 파일 저장 경로 및 파일명 : <%= orgFileName %>
<img src="<%= orgFileName %>" border="0" /><br /><br />
썸네일 이미지 저장 경로 및 파일명 : <%= thumbFileName %>
<img src="<%= thumbFileName %>" border="0" />
<%
}
}catch(IOException e){
System.out.print(e);
}catch(Exception e){
System.out.print(e);
}
%>
====================================
썸네일 생성 자바 파일
========= thumbnail.Thumbnail =========package thumbnail;
import java.io.File;
import java.io.IOException;
import java.awt.image.BufferedImage;
import java.awt.Graphics2D;
import javax.imageio.ImageIO;
import javax.media.jai.JAI;
import javax.media.jai.RenderedOp;
public class Thumbnail {
public Thumbnail(){}
public static void createImage(String loadFile,String saveFile,int zoom) throws IOException{
File save = new File(saveFile); // 썸네일 이미지 파일
RenderedOp rOp = JAI.create("fileload",loadFile); //원본이미지파일로 객체생성
BufferedImage im = rOp.getAsBufferedImage(); // 버퍼드이미지 객체를 얻어옴
if(zoom <=0) zoom=1;
int width = im.getWidth() / zoom;
int height = im.getHeight() / zoom;
// 메모리에 이미지 공간을 생성
BufferedImage thumb = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
Graphics2D g2 = thumb.createGraphics(); // 버퍼드이미지객체로 부터 그래픽2D객체를 얻어옴
g2.drawImage(im,0,0,width,height,null); // 메모리의 이미지 공간에 원본 이미지를 지정한크기로 그린다.
ImageIO.write(thumb,"jpg",save); // 그린 이미지를 파일로 저장한다.
}
}
====================================
'프로그래밍 > JSP' 카테고리의 다른 글
톰캣 설치 - 웹 컨테이너 apache-tomcat-6.0.18 (0) | 2012.01.02 |
---|---|
톰캣 한글 처리 설정 (0) | 2012.01.02 |
이클립스 + 톰캣6.0 & 5.5에서 오라클 JNDI Connection Pool 사용설정 (servlet 서블릿 설정) (0) | 2012.01.02 |
단일 파일 업로드 소스 (0) | 2012.01.02 |
다중 파일 업로드 소스 (0) | 2012.01.02 |