Thumbnailator Library를 활용하여 thumbnail image 만들기
Thumbnailator Library를 활용하여 thumbnail image 만들기
jdk에 ava.awt.Image,java.awt.Graphics2D,java.awt.image.BufferedImage등으로 썸네일을 구현 할 수 있으나 Thumbnailator library를 이용하여 간단히 Thumbnail을 만드는 방법을 소개하고자 한다.
홈페이지: https://code.google.com/p/thumbnailator/
사용법
1. 썸네일 만들기
1) 가로 80, 세로 80인 이미지 만들기
thumbnails.of("/user/mypc/test.jpg").size(80,80).toFile("/user/mypc/thumbnail/test.jpg");
2) 원 이미지의 25%인 thumbnail 만들기
thumbnails.of("/user/mypc/test.jpg").scale(0.25).toFile("/user/mypc/thumbnail/test.jpg");
3) crop 이미지 만들기
Thumbnails.of("/user/mypc/test.jpg").crop(Positions.CENTER).size(85, 81).toFile(new File("/user/mypc/thumbnail/crop/test.jpg"));
* 이미지 중앙을 기준으로 가로 86,세로 81 크기의 thumbnail을 만든다.
4) 90도 회전한 이미지 만들기
Thumbnails.of("/user/mypc/test.jpg").scale(0.25).rotate(90).toFile(new File("/user/mypc/thumbnail/r_test.jpg"));
5) watermark 넣기
BufferedImage originalImage = ImageIO.read(new File("original.jpg"));
BufferedImage watermarkImage = ImageIO.read(new File("watermark.png"));
BufferedImage thumbnail = Thumbnails.of(originalImage).size(200, 200).watermark(Positions.BOTTOM_RIGHT, watermarkImage, 0.5f).asBufferedImage();
※실행시 Heap Memory 부족에러 발생시 해결 방법
아래와 같이 heap Memory 부족에러가 발생한다면 메로리를 늘려서 해결 할 수 있다.
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.awt.image.DataBufferByte.<init>(DataBufferByte.java:59)
at java.awt.image.ComponentSampleModel.createDataBuffer(ComponentSampleModel.java:397)
at java.awt.image.Raster.createWritableRaster(Raster.java:935)
at javax.imageio.ImageTypeSpecifier.createBufferedImage(ImageTypeSpecifier.java:1056)
at javax.imageio.ImageReader.getDestination(ImageReader.java:2879)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal(JPEGImageReader.java:1046)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.read(JPEGImageReader.java:1014)
at javax.imageio.ImageReader.read(ImageReader.java:923)
at net.coobird.thumbnailator.tasks.io.FileImageSource.read(Unknown Source)
at net.coobird.thumbnailator.tasks.SourceSinkThumbnailTask.read(Unknown Source)
at net.coobird.thumbnailator.Thumbnailator.createThumbnail(Unknown Source)
at net.coobird.thumbnailator.Thumbnails$Builder.toFile(Unknown Source)
at convertCrop.Proc(convertCrop.java:40)
at convertCrop.main(convertCrop.java:19)
Eclipse에서 설정법
(1) Run > Run Configurations.. OR Debug Configurations...을 선택합니다.
(2) Arguments 탭에서 VM arguments에 아래의 parameter를 추가 합니다.
-XX:MaxPermSize=96m -Xms128m -Xmx512m
다시 실행하면 잘 되는것을 확인 할 수 있습니다.
(2) Command 창에서 실행
java -XX:MaxPermSize=96m -Xms128m -Xmx512m -cp .:thumbnailor.jar myThumnailMake
'2.Dev Tools > java' 카테고리의 다른 글
java command 창에서 classpath추가 실행하기 .. (0) | 2013.09.30 |
---|
java command 창에서 classpath추가 실행하기 ..
test.class 파일을 command창에서 classpath 추가하여 실행하고 싶을때
java -cp .:sample.jar test
java -cp .:* test
java -cp .:lib/sample.jar:my.jar test
중요사항 "."은 꼭있어야 함. 구분자는 윈도우의 경우 ";"이고 unix 계열은 ":" 임
'2.Dev Tools > java' 카테고리의 다른 글
Thumbnailator Library를 활용하여 thumbnail image 만들기 (0) | 2013.10.01 |
---|
IOS Simulator에 사진 넣기
IOS Simulator에서 카메라가 지원되지 않는다. 그래서 사진 점부 테스트를 하려면 사진을 사진을 IOS Simulator에 넣어야 하는데 방법을 몰라 삽질을 했는데 알고보니 간단합니다.
1. IOS Simulator에서 Safari or App을 실행합니다.
2. Finder에서 이미지를 선택 후 클릭하여 Safari 브라우져로 드래그앤 드랍으로 추가 합니다.
3. Save To Camera Roll 을 클릭하여 저장합니다
4. App을 클릭하여 테스트 합니다.
5. 이미지 첨부를 클릭함.
'5.하이브리드 앱 > 개발' 카테고리의 다른 글
IOS iphone cordova phonegap status bar(폰갭 코드바 제목과 겹치는 문제 해결) (0) | 2013.12.17 |
---|---|
Text 입력시 키보드 위로 텍스트 박스 올리기 설정 (0) | 2013.10.29 |
Google Cloud Messaging 서비스를 이용한 Push 정리 (0) | 2013.10.07 |
PhoneGap(cordova) api로 하드웨어 접근하기 (0) | 2013.09.10 |
첫 하이브리드 앱(Ajax JSONP을 이용한 비동기 서버 호출) (1) | 2013.09.03 |