openGionopenGion
5.7.0.0

org.opengion.fukurou.util
クラス ImageResizer

java.lang.Object
  上位を拡張 org.opengion.fukurou.util.ImageResizer

public class ImageResizer
extends java.lang.Object

ImageResizer は、画像ファイルのリサイズを行うためのクラスです。 ここでの使い方は、初期化時に、オリジナルの画像ファイルを指定し、 変換時に各縮小方法に対応したメソッドを呼び出し、画像を変換します。 変換方法としては、以下の3つがあります。 ①最大サイズ(px)指定による変換 縦横の最大サイズ(px)を指定し、変換を行います。 横長の画像については、変換後の横幅=最大サイズとなり、縦幅については、横幅の 縮小率に従って決定されます。 逆に縦長の画像については、変換後の縦幅=最大サイズとなり、横幅については、縦幅の 縮小率に従って決定されます。 ②縦横サイズ(px)指定による変換 縦横の変換後のサイズ(px)を個別に指定し、変換を行います。 ③縮小率指定による変換 "1"を元サイズとする縮小率を指定し、変換を行います。 縮小率は、縦横で同じ縮小率が適用されます。 入力フォーマットとしてはJPEG/PNG/GIFに、出力フォーマットとしてはJPEG/PNGに対応しています。 出力フォーマットについては、出力ファイル名の拡張子より自動的に決定されますが、一般的には サイズが小さくなるjpegファイルを推奨します。 入出力フォーマットについて、対応していないフォーマットが指定された場合は例外が発生します。 また、縦横の出力サイズが入力サイズの縦横よりも両方大きい場合、変換は行われず、入力ファイルが そのままコピーされて出力されます。(拡大変換は行われません)

バージョン
4.0
作成者
Hiroki Nakamura
導入されたバージョン:
JDK5.0,

フィールドの概要
static java.lang.String READER_SUFFIXES
           
static java.lang.String WRITER_SUFFIXES
           
 
コンストラクタの概要
ImageResizer(java.lang.String in)
          入力ファイル名を指定し、画像縮小オブジェクトを初期化します。
 
メソッドの概要
 java.awt.image.BufferedImage cmykToSRGB(java.awt.image.BufferedImage readImage)
          BufferedImageをISOCoatedのICCプロファイルで読み込み、RGBにした結果を返します。
static java.lang.String getSuffix(java.lang.String fileName)
          ファイル名から拡張子(小文字)を求めます。
static boolean isReaderSuffix(java.lang.String fileName)
          ファイル名から入力画像になりうるかどうかを判定します。
static boolean isWriterSuffix(java.lang.String fileName)
          ファイル名から出力画像になりうるかどうかを判定します。
static void main(java.lang.String[] args)
          メイン処理です。
 void resizeByPixel(java.lang.String out, int maxSize)
          縦横の最大サイズ(px)を指定し、変換を行います。
 void resizeByPixel(java.lang.String out, int sizeX, int sizeY)
          縦横の変換後のサイズ(px)を個別に指定し、変換を行います。
 void resizeByRatio(java.lang.String out, double ratio)
          "1"を元サイズとする縮小率を指定し、変換を行います。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

READER_SUFFIXES

public static final java.lang.String READER_SUFFIXES

WRITER_SUFFIXES

public static final java.lang.String WRITER_SUFFIXES
コンストラクタの詳細

ImageResizer

public ImageResizer(java.lang.String in)
入力ファイル名を指定し、画像縮小オブジェクトを初期化します。

パラメータ:
in - 入力ファイル名
変更履歴:
5.4.3.5 (2012/01/17) CMYK対応
5.4.3.7 (2012/01/20) FAIでのファイル取得方法変更
5.4.3.8 (2012/01/24) エラーメッセージ追加
5.6.5.3 (2013/06/28) 入力画像の形式 を ImageIO から取り出します。
メソッドの詳細

resizeByPixel

public void resizeByPixel(java.lang.String out,
                          int maxSize)
縦横の最大サイズ(px)を指定し、変換を行います。 横長の画像については、変換後の横幅=最大サイズとなり、縦幅については、横幅の 縮小率に従って決定されます。 逆に縦長の画像については、変換後の縦幅=最大サイズとなり、横幅については、縦幅の 縮小率に従って決定されます。

パラメータ:
out - 出力ファイル名
maxSize - 変換後の縦横の最大サイズ

resizeByPixel

public void resizeByPixel(java.lang.String out,
                          int sizeX,
                          int sizeY)
縦横の変換後のサイズ(px)を個別に指定し、変換を行います。

パラメータ:
out - 出力ファイル名
sizeX - 変換後の横サイズ(px)
sizeY - 変換後の縦サイズ(px)

resizeByRatio

public void resizeByRatio(java.lang.String out,
                          double ratio)
"1"を元サイズとする縮小率を指定し、変換を行います。 縮小率は、縦横で同じ縮小率が適用されます。

パラメータ:
out - 出力ファイル名
ratio - 縮小率

getSuffix

public static java.lang.String getSuffix(java.lang.String fileName)
ファイル名から拡張子(小文字)を求めます。 拡張子 が存在しない場合は、null を返します。

パラメータ:
fileName - ファイル名
戻り値:
拡張子(小文字)。なければ、null
変更履歴:
5.6.5.3 (2013/06/28) private ⇒ public へ変更

isReaderSuffix

public static final boolean isReaderSuffix(java.lang.String fileName)
ファイル名から入力画像になりうるかどうかを判定します。 コンストラクターの引数(入力画像)や、実際の処理の中(出力画像)で 、変換対象となるかどうかをチェックしていますが、それを事前に確認できるようにします。

パラメータ:
fileName - ファイル名
戻り値:
入力画像として使用できるかどうか。できる場合は、true
変更履歴:
5.6.5.3 (2013/06/28) 新規追加
5.6.6.1 (2013/07/12) getSuffix が null を返すケースへの対応

isWriterSuffix

public static final boolean isWriterSuffix(java.lang.String fileName)
ファイル名から出力画像になりうるかどうかを判定します。 コンストラクターの引数(入力画像)や、実際の処理の中(出力画像)で 、変換対象となるかどうかをチェックしていますが、それを事前に確認できるようにします。

パラメータ:
fileName - ファイル名
戻り値:
出力画像として使用できるかどうか。できる場合は、true
変更履歴:
5.6.5.3 (2013/06/28) 新規追加
5.6.6.1 (2013/07/12) getSuffix が null を返すケースへの対応

cmykToSRGB

public java.awt.image.BufferedImage cmykToSRGB(java.awt.image.BufferedImage readImage)
                                        throws java.io.IOException
BufferedImageをISOCoatedのICCプロファイルで読み込み、RGBにした結果を返します。 (CMYKからRBGへの変換、ビット反転) なお、ここでは、外部の ICC_PROFILE(ISOcoated_v2_eci.icc) を利用して、処理速度アップを図りますが、 存在しない場合、標準の、com.sun.media.jai.util.SimpleCMYKColorSpace を利用しますので、エラーは出ません。 ただし、ものすごく遅いため、実用的ではありません。 ISOcoated_v2_eci.icc ファイルは、zip圧縮して、拡張子をjar に変更後、(ISOcoated_v2_eci.jar) javaエクステンション((JAVA_HOME\)jre\lib\ext) にコピーするか、実行時に、CLASSPATHに設定します。

パラメータ:
readImage - BufferedImageオブジェクト
戻り値:
変換後のBufferedImage
例外:
java.io.IOException
変更履歴:
5.4.3.5 (2012/01/17)
5.5.3.4 (2012/06/19) ICC_PROFILE の取得先を、ISOcoated_v2_eci.icc に変更

main

public static void main(java.lang.String[] args)
メイン処理です。 java org.opengion.fukurou.util.ImageResizer [Input Filename] [OutputFilename] [MaxResize]

パラメータ:
args - 引数文字列配列 入力ファイル、出力ファイル、縦横最大サイズ

openGion 5.7.0.0

Webアプリケーションフレームワーク openGion
SourceForge.JPCopyright (c) 2009 The openGion Project.