- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2016-05-19T15:57:42+09:00","default:jomura","jomura")
Javaで画像処理って、JDK1.3まではかなり大変だったと思うのですが、JDK1.4からサポートされたjavax.imageioパッケージでかなり楽になったと思います。
サンプルとして、指定したサイズに収まるサムネイルを作成するライブラリクラスを作ってみました。
* サムネイル作成クラス [#k7e49c48]
#ref(ThumbnailFactory_20060506.java,,,,,,ThumbnailFactory.java);
-main()メソッドが利用サンプルになっています。
-サンプルコードに必要な &ref(File_20060506.java,,,,,,File.java);
ソース抜粋
//元画像
BufferedImage image = ImageIO.read(inStrm);
…
//サムネイル画像
BufferedImage shrinkImage = new BufferedImage(
(int) (image.getWidth() * rate),
(int) (image.getHeight() * rate),
image.getType());
AffineTransformOp atOp =
new AffineTransformOp(AffineTransform.getScaleInstance(rate, rate), null);
//サムネイル画像作成
atOp.filter(image, shrinkImage);
//サムネイル画像書き出し
ImageIO.write(shrinkImage, formatName, outStrm);
-参考サイト
--http://www5.airnet.ne.jp/sakuraba/java/laboratory/JDK1.4/Graphics/ImageIO/ImageIO.html
**[sample] サムネイル画像一覧サイト [#v3780f75]
#ref(picture_20051229.zip,,,,,,picture.zip);
-[[eclipse 3.1.1 + WTP 1.0:http://eclipse.org/webtools/]] のプロジェクトです。
-サーバー上にある画像格納フォルダ以下にある画像ファイルを再帰的に検索し、作成したサムネイルをメモリ上にストックして、一覧ページを表示します。
-ファイルシステム上で画像の削除が検出された場合は、随時登録が解除され、次回表示から一覧に出なくなります。
-ファイルシステム上で新規画像の追加があった場合、http://hostname/picture/list?check=1 にアクセスすると、差分の更新を行います。
-動作サンプル
--http://jomora.net/picture/ (20才未満閲覧禁止(^^;;)
---[[EXIF情報の取得:http://www.drewnoakes.com/code/exif/]]もやってま~す。
- [[Redmine:http://jomura.net/redmine/projects/webalbum/wiki]] に移動しました。(2011/08/24)
**[sample] サムネイル作成サーブレット [#gbb433ff]
#ref(ThumbServlet_20060506.java,,,,,,ThumbServlet.java);
ソース抜粋
iStrm = uploadFileItem.getInputStream();
out = response.getOutputStream();
ThumbnailFactory.createThumbnail(iStrm, out, maxThumbWidth, maxThumbHeight);
-[GET] だと、URLクエリpathで指定されたURLの画像のサムネイルを作って返します。
-- path:画像のURL、mtw:最大幅(default:120[px])、mth:最大高(default:90[px])
-- 動作例
[[http://jomora.net/thumbnail/maker.jpg?path=http://jomora.net/archive/2004/V6010005.JPG>http://jomora.net/thumbnail/maker.jpg?path=http://jomora.net/archive/2004/V6010005.JPG]]
-[POST] だと、ブラウザからアップロードされたファイルのサムネイルを作って返します。
--動作サンプル
http://jomora.net/thumbnail/
-- &ref(upload.jsp);
--Apacheの commons-fileupload 1.0 を使ってます。日本語ファイル名も問題なく使えるようになったのかな…
--参考サイト
---http://www.ki.rim.or.jp/~kuro/Java/Commons/01-FileUpload.html
- &ref(Thumbnail_20050424.zip,,,サンプルモジュール一式[eclipse2プロジェクト]);
- [[Redmine:http://jomura.net/redmine/projects/webalbum/wiki]] に移動しました。(2011/08/24)