图像

已弃用

此任务已弃用,因为 Java 高级图像 API 依赖于 Java 9 中已删除的内部类。请改用 ImageIO 任务。

描述

对一组文件应用一系列图像操作。

需要来自 Sun 的 Java 高级图像 API

使用的数据类型的概述
ImageOperation class diagram A diagram of Ant DataType classes used by Image task. org.apache.tools.ant.types.DataType ImageOperation instructions : Vector addRotate(Rotate : instr) addDraw(Draw : instr) addText(Text : 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 stroke_width : int = 0 fill : String = "transparent" stroke : String = "black" TransformOperation executeTransformOperation(PlanarImage img) : PlanarImage addRectangle(Rectangle instr) <<interface>> DrawOperation executeDrawOperation() : PlanarImage 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 addEllipse(Ellipse elip) addArc(Arc arc) Rectangle height : int = 0 width : int = 0 archeight : int = 0 arcwidth : int = 0 Ellipse height : int = 0 width : int = 0 Arc height : int = 0 width : int = 0 start : int = 0 stop : int = 0 type : enumerated = open

参数

属性 描述 必需
failonerror 布尔值。如果为 false,则将错误记录到输出中,但继续执行。 否;默认为 true
srcdir 包含图像的目录。 是,除非使用嵌套文件集
encoding 图像编码类型。
有效(不区分大小写)为:jpgjpegtiftiff
否;默认为 jpeg
overwrite 布尔值。设置是否覆盖存在命名冲突的文件。 否;默认为 false
gc 布尔值。启用在处理每个图像后进行垃圾回收。 否;默认为 false
destdir 存储结果图像的目录。 否;默认为 srcdir 的值
includes 必须包含的文件模式的逗号或空格分隔列表。 否;默认为全部 (**)
includesfile 文件名称。此文件的每一行都被视为包含模式
excludes 必须排除的文件模式的逗号或空格分隔列表。 否;默认为默认排除项,或者如果 defaultexcludesno 则为无
excludesfile 文件名称。此文件的每一行都被视为排除模式
defaultexcludes 指示是否应使用默认排除项 (yes|no)。 否;默认为 yes
caseSensitive 布尔值。设置文件系统的区分大小写。 否;默认为 false
followSymlinks 布尔值。设置是否应跟踪符号链接。 否;默认为 true

作为嵌套元素指定的参数

此任务形成一个隐式 文件集,并支持 <fileset> 的大多数属性以及嵌套的 <include><exclude><patternset> 元素。

以下 ImageOperation 对象可以作为嵌套元素指定:RotateScaleDraw

Rotate

向链中添加 Rotate ImageOperation。

参数
属性 描述 必需
angle 浮点值。设置旋转角度(以度为单位)。 否;默认为 0.0F

Scale

向链中添加 Scale ImageOperation。

参数
属性 描述 必需
proportions 设置控制比例的维度。有效值为
  • ignore—独立处理维度。
  • height—根据宽度保持比例。
  • width—根据高度保持比例。
  • cover—保持比例并适合提供的尺寸。
  • fit—保持比例并覆盖提供的尺寸。
否;默认为 ignore
width 设置图像的宽度,可以是整数(像素)或 %。 否;默认为 100%
height 设置图像的高度,可以是整数(像素)或 %。 否;默认为 100%

Draw

向链中添加 Draw ImageOperation。DrawOperation DataType 对象可以嵌套在 Draw 对象中。

参数
属性 描述 必需
xloc 绘制嵌套图像元素的 X 位置。 否;默认为 0
yloc 绘制嵌套图像元素的 Y 位置。 否;默认为 0

有关嵌套元素的描述,请参阅 ImageIO 任务 的文档。

mapper

自 Apache Ant 1.8.0 起

您可以使用嵌套的 mapper 元素定义文件名转换。<image> 使用的默认映射器是 标识映射器

您也可以使用 filenamemapper 类型来代替 mapper 元素。

示例

创建我的图像的缩略图,并确保它们都适合 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>