- PR -

縮小JPEG画像の高画質化、圧縮率等の変更方法について

投稿者投稿内容
YB
会議室デビュー日: 2005/11/25
投稿数: 16
投稿日時: 2005-12-10 19:29
syousuke様

>>ImageMagickが利用できるかもしれません。

単純且つ簡単にとなると外部ツールや外部ライブラリに頼るのが手っ取り早いとは思うのですが、他の方に回答いただいた方法でも画質に満足がいかなければ試してみたいと思います。

ありがとうございました。
YB
会議室デビュー日: 2005/11/25
投稿数: 16
投稿日時: 2005-12-12 15:44
過日、unibon様に既出のスレッドをご紹介いただいたのですが、そちらで紹介されていたImageFilterを利用した方法を試そうとしているのですが上手くできません。

int width = 120;
int height = 80;
ImageFilter imgflt = new AreaAveragingScaleFilter(width ,height );
wrtImage = createImage(new FilteredImageSource(readImage.getSource(), imgflt));

と言いますのも、最終的にはこれらのコードをservletにて実装したいので、Aplet等をExtendせずに

wrtImage = new Label().createImage(new FilteredImageSource(readImage.getSource(), imgflt));

等としていますが、停止してしまいます。(当たり前のような...)Xに予めログインしておく等の方法を用いずに同様の処理を行い、できればImageFilterを利用してBufferdImageに出力したいと思うのですが何か良い方法はありますでしょうか?
未記入
ぬし
会議室デビュー日: 2004/09/17
投稿数: 667
投稿日時: 2005-12-12 16:45
UNIX 系の OS ですか? もし X11 環境で正しく動いているのであれば、ヘッドレスサポートを有効にすることで解決できるかもしれません。

  -Djava.awt.headless=true を付けて実行してみてください。
YB
会議室デビュー日: 2005/11/25
投稿数: 16
投稿日時: 2005-12-22 15:30
結果報告です。

その後時間がとれなかったのですが、本日各々の方法を比較したところ、5MBのJPEG画像を120*120pix程度に縮小した場合、ImageFilterを利用した方法が一番当方の要求に見合っていることを確認いたしました。(結局Appletをextendsしました)アフィン変換ではシャープネスを掛けたような画像でしたが、ImageFilterを利用した方法はそれもごく自然な感じで縮小できています。また容量も前者が3KB強であるのに対し、後者は2KB強と少なくて済むことに驚いています。

念のためPhotoShop等で同容量程度の画像を作成してみましたが、とても見るに耐えないほどでした。

教示いただきました皆さん、どうもありがとうございました。

スキルアップ/キャリアアップ(JOB@IT)