잡탕1 - IT2012. 9. 16. 18:03

선잡설

만들고자 하는것이 갤러리 홈페이지다 보니 이미지의 썸네일 이미지도 쿼리티가 무척이나 중요하다.

php로 구현된것은 제로보드등 여러곳에서 볼 수 있지만 java 로 된건 별로 보지 못했다.





본잡설

1. JPEGImageEncoder 를 이용한 리사이즈

public static void createThumbnail(String soruce, String target, int targetW) throws Exception 

    Image imgSource = new ImageIcon(soruce).getImage(); 


    int oldW = imgSource.getWidth(null); 

    int oldH = imgSource.getHeight(null); 


    int newW = targetW; 

    int newH = (targetW * oldH) / oldW; 


    //Image imgTarget = imgSource.getScaledInstance(newW, newH, Image.SCALE_AREA_AVERAGING); 

Image imgTarget = imgSource.getScaledInstance(newW, newH, Image.SCALE_SMOOTH); 

    

    int pixels[] = new int[newW * newH]; 


    PixelGrabber pg = new PixelGrabber(imgTarget, 0, 0, newW, newH, pixels, 0, newW); 

    pg.grabPixels(); 


    BufferedImage bi = new BufferedImage(newW, newH, BufferedImage.TYPE_INT_RGB); 

    bi.setRGB(0, 0, newW, newH, pixels, 0, newW); 


    FileOutputStream fos = new FileOutputStream(target); 


    JPEGImageEncoder jpeg = JPEGCodec.createJPEGEncoder(fos); 


    JPEGEncodeParam jep = jpeg.getDefaultJPEGEncodeParam(bi); 

    jep.setQuality(1, true); 


    jpeg.encode(bi, jep); 


    fos.close(); 

}

(출처:http://www.ibm.com/developerworks/kr/library/j-jspdwj/index.html#N1015A 

        http://blog.naver.com/PostView.nhn?blogId=j79sw&logNo=110037089984&redirect=Dlog&widgetTypeCall=true )


음.. 나름 깔끔하다. JAI 로 한방 리사이즈보단 이미지가 괜찮다.

중간에 주석이 있는 부분 getScaledInstance() 메소드의 마지막 파라메터로 쿼리티를 조정할 수 있다.

다 해본결과 SCALE_SMOOTH 가 가장 좋다.

리사이즈 본이 원래 그렇지만 섬네일 이미지가 약간 블러를 먹은 듯 선예도가 떨어진다.




후잡설

방법들은 알게되는대로 계속 올리겠다.

Posted by pearl짓거리전문
잡탕1 - IT2012. 9. 15. 18:07

선잡설

어느덧 JSP 공부하면서 DB설치 순서가 왔다.

흠. 뭐 한것도 없는거 같은데 대충 하다보니 그런가 보다.

보고 있는 책에는 Oracle 로 되어 있는데 실제 홈페이지를 만들거라 MySQL로 깔았다.

쿼리 날리고 등록되는거 보면서 흐믓해야 하는 시점이지만

DB 상에 한글이 깨졌다. 흠 그것이군! 구글링을 하였으나 /etc/my.cnf 파일에 뭘 추가해 주란다.

하지만 /etc/my.cnf 파일이 없다.



본잡설

MySQL5.5.27 은 물론 바이너리로 깔았다.

정확하게는 mysql-5.5.27-osx10.6-x86_64.dmg 가 되겠다.

어떻게 하는지 본론만 확실히 말하면

/etc/my.cnf 파일을 하나 만들어서


[mysqld]

character_set_server=utf8

collation_server=utf8_general_ci

init_connect=set collation_connection=utf8_general_ci

init_connect=set names utf8

character-set-server=utf8

character-set-client-handshake = TRUE


요거만 덜렁 써주면 되겠다.

default 로 시작하는 값은 안써도 된다.

[mysql] 이니, [client] 에도 쓸 필요 없다.


MySQL 을 다시시작 하자!

문자 관련이 모두 utf8 이나 utf8_general_ci 로 바뀌어 있을 것이다.

이제 table 을 만들때도 character set 은 utf8 로 해준다.



후잡설

MySQL설치

파일 만들기

환경설정 확인

MySQL 재시작

등 잡다한건 쓰지 않는다.

리플로 달면 쓸지도;;;

Posted by pearl짓거리전문