ImageIO

説明

一連の画像操作をファイルセットに適用します。

AWTとImageIOを使用します。Java 9以降ではimageタスクを置き換えます。このタスクはJava 8でも使用できますが、制限についてはパラメータテーブルを参照してください。

注意: このタスクは、imageタスクの構文とセマンティクスにできる限り近づけるようにしています。ただし、encoding属性ではなく、format属性を使用します。後者は誤称です。ほとんどすべてのタスクは、ファイル、ファイル名、または他の文字列の文字エンコーディングに同様の属性を使用します。また、formatが指定されていない場合、その値は処理される最初の画像ファイルのフォーマットによって定義されます。

使用されるデータ型の概要
ImageOperation class diagram A diagram of Ant DataType classes used by ImageIO task. org.apache.tools.ant.types.DataType ImageOperation instructions : List addDraw(Draw : instr) addRotate(Rotate : instr) addScale(Scale : instr) The setType() method forces type to one of the values of java.awt.geom.Arc2D: open = Arc2D.OPEN pie = Arc2D.PIE chord = Arc2D.CHORD Parameter is not case-sensitive. BasicShape height : int = 0 width : int = 0 strokeWidth : int = 0 stroke : String = "black" fill : String = "transparent" TransformOperation executeTransformOperation(BufferedImage img) : BufferedImage <<interface>> DrawOperation executeDrawOperation() : BufferedImage The implementing class uses ColorMapper to evaluate the color. Only the values defined in ColorMapper are used. ColorMapper COLOR_BLACK : String = "black" COLOR_BLUE : String = "blue" COLOR_CYAN : String = "cyan" COLOR_DARKGRAY : String = "darkgray" COLOR_GRAY : String = "gray" COLOR_LIGHTGRAY : String = "lightgray" COLOR_DARKGREY : String = "darkgrey" COLOR_GREY : String = "grey" COLOR_LIGHTGREY : String = "lightgrey" COLOR_GREEN : String = "green" COLOR_MAGENTA : String = "magenta" COLOR_ORANGE : String = "orange" COLOR_PINK : String = "pink" COLOR_RED : String = "red" COLOR_WHITE : String = "white" COLOR_YELLOW : String = "yellow" Text string : String = "" font : String = "Arial" point : int = 10 bold : boolean = false color : String = "black" italic : boolean = false Rotate angle : float = 0.0F Scale width : String = "100%" height : String = "100%" keepProportions : boolean = false Draw xloc : int = 0 yloc : int = 0 addText(Text : text) addRectangle(Rectangle rect) addEllipse(Ellipse elip) addArc(Arc arc) Rectangle archeight : int = 0 arcwidth : int = 0 Ellipse Arc start : int = 0 stop : int = 0 type : enumerated = open

パラメータ

属性 説明 必須
failonerror ブール値。「false」の場合、エラーを出力に記録しますが、処理を続行します。 いいえ。「true」がデフォルトです。
srcdir 画像を含むディレクトリ。 ネストされたファイルセットが使用されていない限り、必須です。
format 画像フォーマット。
有効な値(大文字と小文字は区別されません):「bmp」、「gif」、「jpeg」、「jpg」、「png」、「tif」、「tiff」、「wbmp」(Java 8 VMはTIFFのサポートがありませんが、外部ライブラリによって提供できます)。
いいえ。(最初の)元のファイルのフォーマットがデフォルトです。
overwrite ブール値。命名の競合がある場合にファイルを上書きするかどうかを設定します。 いいえ。「false」がデフォルトです。
gc ブール値。各画像の処理後にガベージコレクションを有効にします。Java8ではサポートされていません。 いいえ。「false」がデフォルトです。
destdir 結果の画像が保存されるディレクトリ。 いいえ。srcdirの値がデフォルトです。
includes 含める必要があるファイルのパターンのカンマまたはスペース区切りのリスト。 いいえ。すべて(「**」)がデフォルトです。
includesfile ファイルの名前。このファイルの各行は、インクルードパターンと見なされます。 いいえ。
excludes 除外する必要があるファイルのパターンのカンマまたはスペース区切りのリスト。 いいえ。デフォルトの除外、またはdefaultexcludesが「no」の場合は何も除外されません。
excludesfile ファイルの名前。このファイルの各行は、除外パターンと見なされます。 いいえ。
defaultexcludes デフォルトの除外を使用するかどうかを示します(「yes|no」)。 いいえ。「yes」がデフォルトです。
caseSensitive ブール値。ファイルシステムの大文字と小文字の区別を設定します。Java8ではサポートされていません。 いいえ。「false」がデフォルトです。
followSymlinks ブール値。シンボリックリンクをたどるかどうかを設定します。Java8ではサポートされていません。 いいえ。「true」がデフォルトです。

ネストされた要素として指定されたパラメータ

このタスクは暗黙的なFileSetを形成し、<fileset>のほとんどの属性と、ネストされた<include><exclude>、および<patternset>要素をサポートします。

次のImageOperationオブジェクトをネストされた要素として指定できます:RotateScale、およびDraw

Rotate(回転)

回転ImageOperationをチェーンに追加します。

パラメータ
属性 説明 必須
angle(角度) 浮動小数点値。回転角度を度単位で設定します。 いいえ。「0.0F」がデフォルトです。

Scale(拡大・縮小)

拡大・縮小ImageOperationをチェーンに追加します。

パラメータ
属性 説明 必須
proportions(比率) どの次元から比率を制御するかを設定します。有効な値は次のとおりです。
  • 「ignore」— 次元を個別に扱います。
  • 「height」— 幅に基づいて比率を維持します。
  • 「width」— 高さ基づいて比率を維持します。
  • 「cover」— 比率を維持し、指定された寸法に収めます。
  • 「fit」— 比率を維持し、指定された寸法をカバーします。
いいえ。「ignore」がデフォルトです。
width(幅) 画像の幅を整数(ピクセル)または%として設定します。 いいえ。「100%」がデフォルトです。
height(高さ) 画像の高さを整数(ピクセル)または%として設定します。 いいえ。「100%」がデフォルトです。

Draw(描画)

描画ImageOperationをチェーンに追加します。DrawOperation DataTypeオブジェクトは、Drawオブジェクト内にネストできます。

パラメータ
属性 説明 必須
xloc ネストされた画像要素を描画するX座標。 いいえ。「0」がデフォルトです。
yloc ネストされた画像要素を描画するY座標。 いいえ。「0」がデフォルトです。
ネストされた要素

TextオブジェクトとBasicShapeオブジェクトの両方をネストできます。現在サポートされているBasicShapeオブジェクトは、Arc、Ellipse、Rectangleです。

BasicShapeオブジェクトの共通パラメータ
属性 説明 必須
height(高さ) height: BasicShapeの高さ。 いいえ。「0」がデフォルトです。
width(幅) width: BasicShapeの幅。 いいえ。「0」がデフォルトです。
strokewidth: BasicShapeのストローク幅。 stkrokecolor: BasicShapeのストロークの色 いいえ。「0」がデフォルトです。
color: BasicShapeの色。 塗りつぶしの色 いいえ。「black」がデフォルトです。
fill: BasicShapeの塗りつぶし。 塗りつぶしの色 いいえ。「transparent」がデフォルトです。
Arcオブジェクトに固有のパラメータ
属性 説明 必須
start: 円弧の開始角度(度単位)。 円弧の開始角度(度単位)。 いいえ。「0」がデフォルトです。
stop: 円弧の角度範囲(度単位)。 円弧の角度範囲(度単位)。 いいえ。「0」がデフォルトです。
type: 「chord」、「open」、「pie」のいずれか。 「chord」、「open」、「pie」のいずれか。 いいえ。「open」がデフォルトです。
Ellipseオブジェクトに固有のパラメータ

なし。

Rectangleオブジェクトに固有のパラメータ
属性 説明 必須
archeight: 長方形の角にある円弧の垂直直径。 長方形の角にある円弧の垂直直径。 いいえ。「0」がデフォルトです。
arcwidth: 長方形の角にある円弧の水平直径。 長方形の角にある円弧の水平直径。 いいえ。「0」がデフォルトです。
Textのパラメータ
属性 説明 必須
string: テキスト文字列。 テキスト文字列。 いいえ。デフォルトは「」です。
font: テキストを設定するフォント。 テキストを設定するフォント。 いいえ。「Arial」がデフォルトです。
point: フォントのサイズ(ポイント単位)。 フォントのサイズ(ポイント単位)。 いいえ。「10」がデフォルトです。
bold: フォントを太字にするかどうか。 フォントを太字にするかどうか。 いいえ。「false」がデフォルトです。
color: BasicShapeの色。 color: テキストの色。 いいえ。「black」がデフォルトです。
italic: フォントを斜体にするかどうか。 フォントを斜体にするかどうか。 いいえ。「false」がデフォルトです。

mapper

ネストされたmapper要素を使用して、ファイル名の変換を定義できます。<image>で使用されるデフォルトのマッパーは、identity mapperです。

mapper要素の代わりに、filenamemapperタイプを使用することもできます。

画像のサムネイルを作成し、画像が縦長か横長かに関わらず、すべて160×160ピクセルサイズに収まるようにします。

<image destdir="samples/low" overwrite="yes">
    <fileset dir="samples/full">
        <include name="**/*.jpg"/>
    </fileset>
    <scale width="160" height="160" proportions="fit"/>
</image>

srcにあるすべてのPNGファイルのサムネイルを40ピクセルサイズで作成し、比率を維持してsrcに保存します。

<image srcdir="src" includes="*.png">
    <scale proportions="width" width="40"/>
</image>

上記と同じですが、結果をdestに保存します。

<image srcdir="src" destdir="dest" includes="*.png">
    <scale proportions="width" width="40"/>
</image>

上記と同じですが、結果を元のファイル名の前に「scaled-」が付いたファイルに保存します。

<image srcdir="src" destdir="dest" includes="*.png">
    <scale proportions="width" width="40"/>
    <globmapper from="*" to="scaled-*"/>
</image>