ImageTool

Methods

 

 

convertAs

현재 이미지 파일을 변환합니다.

 

Syntax

    void convertAs ( ImageProp imageProp, String saveDirPath, String fileName )
    void convertAs ( ImageProp imageProp, String saveDirPath, String fileName boolean overwrite )

Parameters

imageProp

[in] 변환할 이미지 파일의 속성을 설정합니다.

saveDirPath

[in] 저장할 이미지 파일의 디렉토리 경로를 입력합니다.

fileName

[in] 저장할 파일의 이름을 입력합니다.

overwrite

[in] 파일 변경 시 겹쳐쓰기 모드를 설정합니다. 기본 값은 false입니다.

true

파일 변경 시 동일한 이름의 파일이 있을 경우 현재 파일로 겹쳐씁니다.

false

파일 변경 시 동일한 이름의 파일이 있을 경우 다른 이름으로 저장됩니다.

 

Return Values

변경된 이미지 파일의 경로를 반환합니다.

 

Remarks

 

Sample Codes

Java

FileUpload fileUpload = new FileUpload(request, response); 
try { 
	fileUpload.setAutoMakeDirs(true);

	String saveDirPath = request.getRealPath("/");
	saveDirPath += ("UploadDir" + File.separator);
	fileUpload.startUpload(saveDirPath); 	

	FileItem fileItem = fileUpload.getFileItem("files");

	if(fileItem != null) { 
		fileItem.save(saveDirPath); 	
		
		// 이미지 객체 생성
		ImageTool image = ImageTool.getImage(fileItem);
		// 다른 유형의 Image 객체를 가져오는 함수들
		// getImage(File sourceFile);
		// getImage(String sourceFilePath);
		
		// image가 null이면, 지원되지 않는 이미지 포맷이거나 파일을 찾을 수 없는 경우입니다. 
		if(image != null) { 
			// autoMakeDirs를 true로 설정하면 파일 저장시 파일생성에 필요한 상위 디렉토리를 모두 생성합니다.
			image.setAutoMakeDirs(true); 
			
			// 저장할 이미지 파일 경로 및 이름 설정
			String imageSaveDirPath = saveDirPath + "image" + File.separator; 
			
			/**
			* [ 이미지 변경을 위한 ImageProp 객체의 프로퍼티] 
			* setWidth : 생성할 이미지의 너비를 설정합니다. 기본 값은 원본 이미지의 너비입니다. 
			* setHeight : 생성할 이미지의 높이를 설정합니다. 기본 값은 원본 이미지의 높이입니다.
			* setRatio : 변경할 원본 이미지의 비율입니다. 비율에 따라 너비와 높이가 설정됩니다. 기본 값은 원본 이미지의 비율입니다.
			* 			 원본 크기 비율은 1.0f입니다. (예, 2.0f는 두배 크기, 0.5f는 원본의 1/2일 크기) 
			*			 너비, 높이를 명시적으로 입력하면 비율은 무시됩니다. 
			* setQuality : 생성할 이미지의 퀄리티를 설정합니다. 기본 값은 1.0f이며, 가장 높은 퀄리티입니다. 
			* setFormatName : 생성할 이미지의 포맷 설정합니다. 기본 값은 원본 이미지의 포맷입니다. 
			*				: 지원되지 않는 포맷 이름을 입력할 경우 예외가 발생합니다. 
			*/
			// JPG 포맷으로 이미지 변경 
			ImageProp imageProp = new ImageProp(); 
			imageProp.setFormatName("JPG");
			// 저장할 이미지 포맷에 맞는 이름으로 설정
			String imageFileName = "Converted_" + fileItem.getFileNameWithoutFileExt() + ".jpg";
			String jpgFilePath = image.convertAs(imageProp, imageSaveDirPath, imageFileName);  
			
			// BMP 포맷으로 이미지 변경
			imageProp.setFormatName("BMP");
			// 저장할 이미지 포맷에 맞는 이름으로 설정
			imageFileName = "Converted_" + fileItem.getFileNameWithoutFileExt() + ".bmp";
			String bmpFilePath = image.convertAs(imageProp, imageSaveDirPath, imageFileName);  
			
			// PNG 포맷으로 이미지 변경
			imageProp.setFormatName("PNG");
			// 저장할 이미지 포맷에 맞는 이름으로 설정
			imageFileName = "Converted_" + fileItem.getFileNameWithoutFileExt() + ".png";
			String pngFilePath = image.convertAs(imageProp, imageSaveDirPath, imageFileName);  
			
			// GIF 포맷으로 이미지 변경
			imageProp.setFormatName("GIF");
			// 저장할 이미지 포맷에 맞는 이름으로 설정
			imageFileName = "Converted_" + fileItem.getFileNameWithoutFileExt() + ".gif";
			String gifFilePath = image.convertAs(imageProp, imageSaveDirPath, imageFileName);  
		}
	}
}
catch(CrossUploaderException ex) { 
}
catch(Exception ex) { 
	fileUpload.deleteUploadedFiles(); 
}
finally { 
	fileUpload.clear(); 
}