通过 Ant 任务运行 pngquant



我一直在尝试创建一个使用 pngquantum 处理一堆 PNG 文件的自定义 Ant 任务,但没有成功。

以下是我到目前为止一直在尝试的内容(我一直将其作为HTML5样板构建脚本的一部分运行,因此这就是动态值的来源):

<apply executable="${basedir}/${dir.build.tools}/pngquant" dest="./${dir.publish}/${dir.images}/" osfamily="unix">
    <fileset dir="./${dir.source}/${dir.images}/" includes="**/*.png"  excludes="${images.bypass}, ${images.default.bypass}"/>
    <arg value="-force 256"/>
    <targetfile/>
    <srcfile/>
    <mapper type="identity"/>
</apply>

目前,每个图像都出现"无法打开读取"的错误。

我知道这可能不是很有帮助,但我真的不知道从这里开始。任何帮助将不胜感激。

我不知道问题是什么,但我认为您的 Ant XML 本身有问题。

首先,您的excludes在逗号后有一个额外的空格。

排除

:必须排除的文件模式的逗号或空格分隔列表。

也就是说,您应该使用逗号或空格,而不是一起使用。所以应该是${images.bypass},${images.default.bypass}.---- 我发现这是不对的。它使用 StringTokenizer(String sInput, String sDelimiter, boolean bReturnTokens) 并将 false 传递给第三个参数,以便您可以一起使用,

另外,我建议您使用嵌套<include><exclude>元素以使其更清晰。

其次,如果您不需要使用它们,则无需将<targetfile/><srcfile/>放入<apply>

第三,<arg value="-force 256" /><arg value="-force"/> <arg value="256"/>

相关内容

  • 没有找到相关文章

最新更新