Image

Description

Applies a chain of image operations on a set of files.

Requires Java Advanced Image API from Sun.

Overview of used datatypes
Class-Diagram

Parameters

Attribute Description Required
failonerror Boolean value. If false, note errors to the output but keep going. no (defaults to true)
srcdir Directory containing the images. yes, unless nested fileset is used
encoding Image encoding type.
Valid (caseinsensitive) are: jpg, jpeg, tif, tiff
no (defaults to JPEG)
overwrite Boolean value. Sets whether or not to overwrite a file if there is naming conflict. no (defaults to false)
gc Boolean value. Enables garbage collection after each image processed. no (defaults to false)
destdir Directory where the result images are stored. no (defaults to value of srcdir)
includes comma- or space-separated list of patterns of files that must be included. All files are included when omitted. No
includesfile the name of a file. Each line of this file is taken to be an include pattern No
excludes comma- or space-separated list of patterns of files that must be excluded. No files (except default excludes) are excluded when omitted. No
excludesfile the name of a file. Each line of this file is taken to be an exclude pattern No
defaultexcludes indicates whether default excludes should be used or not ("yes"/"no"). Default excludes are used when omitted. No
caseSensitive Boolean value. Sets case sensitivity of the file system. no (defaults to false)
followSymlinks Boolean value. Sets whether or not symbolic links should be followed. no (defaults to true)

Parameters specified as nested elements

This task forms an implicit FileSet and supports most attributes of <fileset> as well as the nested <include>, <exclude> and <patternset> elements.

ImageOperation

Adds an ImageOperation to chain.

Nested Elements
ImageOperation can handle nested Rotate, Draw, Rectangle, Text and Scale objects.

Rotate

Adds a Rotate ImageOperation to chain.

Parameters
Attribute Description Required
angle Float value. Sets the angle of rotation in degrees. no (defaults to 0.0F)

Scale

Adds a Scale ImageOperation to chain.

Parameters
Attribute Description Required
proportions Sets which dimension to control proportions from. Valid values are:
  • "ignore" - treat the dimensions independently.
  • "height" - keep proportions based on the width.
  • "width" - keep proportions based on the height.
  • "cover" - keep proportions and fit in the supplied dimensions.
  • "fit" - keep proportions and cover the supplied dimensions.
no (defaults to ignore)
width Sets the width of the image, either as an integer or a %. no (defaults to 100%)
height Sets the height of the image, either as an integer or a %. no (defaults to 100%)

Draw

Adds a Draw ImageOperation to chain. DrawOperation DataType objects can be nested inside the Draw object.

Parameters
Attribute Description Required
xloc X-Position where to draw nested image elements. no (defaults to 0)
yloc Y-Position where to draw nested image elements. no (defaults to 0)

mapper

Since Apache Ant 1.8.0

You can define filename transformations by using a nested mapper element. The default mapper used by <image> is the identity mapper.

You can also use a filenamemapper type in place of the mapper element.

Examples

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

Create thumbnails of my images and make sure they all fit within the 160x160 size whether the image is portrait or landscape.

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

Creates a thumbnail for all PNG-files in src in the size of 40 pixel keeping the proportions and stores the src.

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

Same as above but stores the result in dest.

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

Same as above but stores the resulting file names will be prefixed by "scaled-".