Applies a chain of image operations on a set of files.
Uses AWT and ImageIO; replaces image task for Java 9+. The task can be used with Java 8 as well, see parameter table for limitations.
Note: this task tries to stay as close as possible to syntax and semantics
of image
task. However, it uses format attribute rather
than encoding attribute, because the latter is a misnomer: almost all tasks use similar
attributes for character encodings in files, file names or other strings. Also,
when format is not specified, its value is defined by the format of the first processed
image file.
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 |
format | Image format. Valid (case insensitive) are: bmp, gif, jpeg, jpg, png, tif, tiff, wbmp(Java 8 VM lacks support for TIFF, which can be provided by external libraries). |
No; defaults to the format of the (first) original file |
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. | No; defaults to all (**) |
includesfile | 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; defaults to default excludes or none if defaultexcludes is no |
excludesfile | 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). |
No; defaults to yes |
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 |
This task forms an implicit FileSet and supports most
attributes of <fileset>
as well as the
nested <include>
, <exclude>
and <patternset>
elements.
The following ImageOperation objects can be specified as nested
elements: Rotate
, Scale
and Draw
.
Adds a Rotate ImageOperation to chain.
Attribute | Description | Required |
---|---|---|
angle | Float value. Sets the angle of rotation in degrees. | No; defaults to 0.0F |
Adds a Scale ImageOperation to chain.
Attribute | Description | Required |
---|---|---|
proportions | Sets which dimension to control proportions from. Valid values are:
|
No; defaults to ignore |
width | Sets the width of the image, either as an integer (pixels) or a %. | No; defaults to 100% |
height | Sets the height of the image, either as an integer (pixels) or a %. | No; defaults to 100% |
Adds a Draw ImageOperation to chain. DrawOperation DataType objects can be nested inside the Draw object.
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 |
Both Text and BasicShape objects can be nested. Currently supported BasicShape objects are Arc, Ellipse and Rectangle.
Attribute | Description | Required |
---|---|---|
height | Height of a BasicShape. | No; defaults to 0 |
width | Width of a BasicShape. | No; defaults to 0 |
strokewidth | Stroke width of a BasicShape. | No; defaults to 0 |
color | Color of a BasicShape. | No; defaults to black |
fill | Fill of a BasicShape. | No; defaults to transparent |
Attribute | Description | Required |
---|---|---|
start | Start angle of an arc in degrees. | No; defaults to 0 |
stop | Angle extent of an arc in degrees. | No; defaults to 0 |
type | One of chord, open, pie. |
No; defaults to open |
None.
Attribute | Description | Required |
---|---|---|
archeight | Vertical diameter of the arc at the corners of the rectangle. | No; defaults to 0 |
arcwidth | Horisontal diameter of the arc at the corners of the rectangle. | No; defaults to 0 |
Attribute | Description | Required |
---|---|---|
string | The text string. | No; defaults to |
font | The font to set the text in. | No; defaults to Arial |
point | Size of the font in points. | No; defaults to 10 |
bold | Whether the font is bold. | No; defaults to false |
color | Color of the text. | No; defaults to black |
italic | Whether the font is italic. | No; defaults to false |
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.
Create thumbnails of my images and make sure they all fit within the 160×160 pixel size whether the image is portrait or landscape.
<image destdir="samples/low" overwrite="yes"> <fileset dir="samples/full"> <include name="**/*.jpg"/> </fileset> <scale width="160" height="160" proportions="fit"/> </image>
Create a thumbnail for all PNG files in src of the size of 40 pixels keeping the proportions and store the src.
<image srcdir="src" includes="*.png"> <scale proportions="width" width="40"/> </image>
Same as above but store the result in dest.
<image srcdir="src" destdir="dest" includes="*.png"> <scale proportions="width" width="40"/> </image>
Same as above but store the result to files with original names prefixed by scaled-.
<image srcdir="src" destdir="dest" includes="*.png"> <scale proportions="width" width="40"/> <globmapper from="*" to="scaled-*"/> </image>