- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想压缩目录中存在的所有 png
图像文件,并使用 pngquant 将所有这些转换/压缩的图像文件以其原始图像名称保存到不同的文件夹中。 :
批量压缩语法:
pngquant.exe --quality=40-55 images\*.png
它压缩images
目录下的所有PNG图片文件,并将压缩后的文件另存为同一目录下的新文件,并在原文件名后附加-fs8,例如
arrow.png
arrow-fs8.png
arrow.png
是源文件,arrow-fs8.png
是输出文件。
我想将所有转换后的文件以其原始名称保存在一个单独的文件夹中。
有谁知道如何用 pngquant.exe 做到这一点? ?
pngquant
使用选项 -h
运行时的帮助输出:
pngquant, 2.5.2 (October 2015), by Greg Roelofs, Kornel Lesinski.
Compiled without support for color profiles. Using libpng 1.6.18.
usage: pngquant [options] [ncolors] -- pngfile [pngfile ...]
pngquant [options] [ncolors] - >stdout <stdin
options:
--force overwrite existing output files (synonym: -f)
--skip-if-larger only save converted files if they're smaller than original
--output file destination file path to use instead of --ext (synonym: -o)
--ext new.png set custom suffix/extension for output filenames
--quality min-max don't save below min, use fewer colors below max (0-100)
--speed N speed/quality trade-off. 1=slow, 3=default, 11=fast & rough
--nofs disable Floyd-Steinberg dithering
--posterize N output lower-precision color (e.g. for ARGB4444 output)
--verbose print status messages (synonym: -v)
Quantizes one or more 32-bit RGBA PNGs to 8-bit (or smaller) RGBA-palette.
The output filename is the same as the input name except that
it ends in "-fs8.png", "-or8.png" or your custom extension (unless the
input is stdin, in which case the quantized image will go to stdout).
The default behavior if the output file exists is to skip the conversion;
use --force to overwrite. See man page for full list of options.
最佳答案
这是带有附加功能的任务的批处理代码。
@echo off
setlocal
rem It is expected that pngquant.exe is in same directory as the
rem batch file and %~dp0 returns this path ending with a backslash.
set "ToolPath=%~dp0"
rem Use as source directory either the first specified parameter
rem on calling this batch file or the current working directory.
set "SourceFolder=%~f1"
if "%SourceFolder%" == "" set "SourceFolder=%CD%"
rem Replace all slashes by backslashes.
set "SourceFolder=%SourceFolder:/=\%"
rem Remove last character if it is a backslash.
if "%SourceFolder:~-1%" == "\" set "SourceFolder=%SourceFolder:~0,-1%"
rem Use as output directory either the second specified parameter
rem on calling this batch file or the current working directory.
set "OutputFolder=%~f2"
if "%OutputFolder%" == "" set "OutputFolder=%CD%"
set "OutputFolder=%OutputFolder:/=\%"
if "%OutputFolder:~-1%" == "\" set "OutputFolder=%OutputFolder:~0,-1%"
rem Set source directory as current directory. The source directory
rem can be also specified with an UNC path which is the reason why
rem command PUSHD is used and not command CD.
pushd "%SourceFolder%"
rem Either optimize all PNG files in source directory with output
rem also in source directory using default new file name or process
rem in a loop each PNG file separately with writing the optimized
rem image to output directory with same name as source file.
if /I "%SourceFolder%" == "%OutputFolder%" (
"%ToolPath%pngquant.exe" --quality=40-55 --force *.png
) else (
if not exist "%OutputFolder%" (
md "%OutputFolder%"
if errorlevel 1 (
echo Failed to create the output folder:
echo.
echo %OutputFolder%
echo.
pause
goto RestoreEnviroment
)
)
for %%I in (*.png) do (
"%ToolPath%pngquant.exe" --quality=40-55 --force --output "%OutputFolder%\%%I" "%%I"
)
)
:RestoreEnviroment
rem Restore the previous current directory and delete the local copy of
rem the environment variables table, i.e. restore previous environment.
popd
endlocal
在启动/调用此批处理文件时,可以将源文件夹指定为第一个参数,将输出文件夹指定为第二个参数。
如果源文件夹应与批处理文件位于同一文件夹,并且在启动/调用此批处理文件时仅指定一个输出文件夹,则仅将 .
指定为当前文件夹的第一个参数。
要了解使用的命令及其工作原理,请打开命令提示符窗口,在其中执行以下命令,并仔细阅读为每个命令显示的所有帮助页面。
echo/?
endlocal/?
for/?
goto/?
如果/?
md/?
暂停/?
popd/?
pushd/?
rem/?
设置/?
setlocal/?
pngquant.exe -h
关于image - 如何使用 PNGQUANT 执行批量 PNG 压缩并将所有转换后的图像及其源名称保存到另一个文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36982559/
我正在尝试将一个字符串逐个字符地复制到另一个字符串中。目的不是复制整个字符串,而是复制其中的一部分(我稍后会为此做一些条件......) 但我不知道如何使用迭代器。 你能帮帮我吗? std::stri
我想将 void 指针转换为结构引用。 结构的最小示例: #include "Interface.h" class Foo { public: Foo() : mAddress((uint
这有点烦人:我有一个 div,它从窗口的左上角开始过渡,即使它位于文档的其他任何位置。我试过 usign -webkit-transform-origin 但没有成功,也许我用错了。有人可以帮助我吗?
假设,如果将 CSS3 转换/转换/动画分配给 DOM 元素,我是否可以检测到该过程的状态? 我想这样做的原因是因为我正在寻找类似过渡链的东西,例如,在前一个过渡之后运行一个过渡。 最佳答案 我在 h
最近我遇到了“不稳定”屏幕,这很可能是由 CSS 转换引起的。事实上,它只发生在 Chrome 浏览器 上(可能还有 Safari,因为一些人也报告了它)。知道如何让它看起来光滑吗?此外,您可能会注意
我正在开发一个简单的 slider ,它使用 CSS 过渡来为幻灯片设置动画。我用一些基本样式和一些 javascript 创建了一支笔 here .注意:由于 Codepen 使用 Prefixfr
我正在使用以下代码返回 IList: public IList FindCodesByCountry(string country) { var query =
如何设计像这样的操作: 计算 转化 翻译 例如:从“EUR”转换为“CNY”金额“100”。 这是 /convert?from=EUR&to=CNY&amount=100 RESTful 吗? 最佳答
我使用 jquery 组合了一个图像滚动器,如下所示 function rotateImages(whichHolder, start) { var images = $('#' +which
如何使用 CSS (-moz-transform) 更改一个如下所示的 div: 最佳答案 你可以看看Mozilla Developer Center .甚至还有例子。 但是,在我看来,您的具体示例不
我需要帮助我正在尝试在选中和未选中的汉堡菜单上实现动画。我能够为菜单设置动画,但我不知道如何在转换为 0 时为左菜单动画设置动画 &__menu { transform: translateX(
我正在为字典格式之间的转换而苦苦挣扎:我正在尝试将下面的项目数组转换为下面的结果数组。本质上是通过在项目第一个元素中查找重复项,然后仅在第一个参数不同时才将文件添加到结果集中。 var items:[
如果我有两个定义相同的结构,那么在它们之间进行转换的最佳方式是什么? struct A { int i; float f; }; struct B { int i; float f; }; void
我编写了一个 javascript 代码,可以将视口(viewport)从一个链接滑动到另一个链接。基本上一切正常,你怎么能在那里看到http://jsfiddle.net/DruwJ/8/ 我现在的
我需要将文件上传到 meteor ,对其进行一些图像处理(必要时进行图像转换,从图像生成缩略图),然后将其存储在外部图像存储服务器(s3)中。这应该尽可能快。 您对 nodejs 图像处理库有什么建议
刚开始接触KDB+,有一些问题很难从Q for Mortals中得到。 说,这里 http://code.kx.com/wiki/JB:QforMortals2/casting_and_enumera
我在这里的一个项目中使用 JSF 1.2 和 IceFaces 1.8。 我有一个页面,它基本上是一大堆浮点数字段的大编辑网格。这是通过 inputText 实现的页面上的字段指向具有原始值的值对象
ScnMatrix4 是一个 4x4 矩阵。我的问题是什么矩阵行对应于位置(ScnVector3),旋转(ScnVector4),比例(ScnVector3)。第 4 行是空的吗? 编辑: 我玩弄了
恐怕我是 Scala 新手: 我正在尝试根据一些简单的逻辑将 Map 转换为新 Map: val postVals = Map("test" -> "testing1", "test2" -> "te
输入: This is sample 1 This is sample 2 输出: ~COLOR~[Green]This is sample 1~COLOR~[Red]This is sam
我是一名优秀的程序员,十分优秀!