写真ページを作るのにiPhoto->iWebという流れはまぁいいんだけど .Macを使用していない人間にとってみると iWebでサイト全体を作る気は毛頭ないので ちょっとiWebのフォルダ書き出し機能はしんどいわけです。 (過去に作ったページまで書き出そうとするから)
というわけでJavaで自分好みのPhoto管理ソフトを作ろう (とか言いながらRhinoで作ってる)
まずはサムネイルを指定したサイズでまとめて作りたい関数。
importPackage(Packages.java.awt) importPackage(Packages.java.awt.image) importPackage(Packages.java.io) importPackage(Packages.javax.imageio)
var createThumb=function(srcfile,dstfile,maxSize){ // srcfileの読み込み var fis=new FileInputStream(srcfile) var image=ImageIO.read(fis) fis.close() // 縮小率を計算する var h=image.getHeight() var w=image.getWidth() var s= h>w? h:w var scale=1.0*maxSize/s w=parseInt(w*scale) h=parseInt(h*scale) // dstfileの書き込み準備 var shrink=new BufferedImage(w,h,image.getType()) var g=shrink.createGraphics() g.setRenderingHint(RenderingHints.KEY_INTERPOLATION,RenderingHints.VALUE_INTERPOLATION_BICUBIC) g.setRenderingHint(RenderingHints.KEY_RENDERING,RenderingHints.VALUE_RENDER_QUALITY) g.setRenderingHint(RenderingHints.KEY_DITHERING,RenderingHints.VALUE_DITHER_ENABLE) // 書き込み g.drawImage(image,0,0,w,h,null) ImageIO.write(shrink,'jpg',new File(dstfile)) }
|