picopt init和模块常量。

picopt的Python项目详细描述


多格式、递归、多处理器感知、命令行无损 使用外部工具进行优化的图像优化器实用程序。

picopt依赖于python PIL标识文件和 pythonrarfile打开cbrs。

实际的图像优化是通过外部程序实现的。

优化JPEG图像。picopt需要一个 mozjpegjpegrescanjpegtran在路径上。按顺序 偏爱。

为了优化像png、pnm、gif和bmp这样的无损图像,picopt需要 要么optipngadvpngpngout在路上。选项PNG 提供了最大的优势,但使用 还有PNGOUT。默认情况下禁用advpng支持,并且必须是 在命令行上显式启用。

动画gif使用 gifsicle如果有的话。皮克特 要求您将文件转换为HTML5 video,但不提供此服务 本身。

picopt解压、优化和刷新comic book archive files。注意 CBR RAR档案将被重新压缩到CBZ,而不是CBR。漫画 默认情况下未启用图书存档优化以防止 惊喜。

picopt允许您将picopt时间戳放在 递归优化树,这样就不必记住哪些文件 优化或上次优化它们的时间。

安装

无损外部程序包

操作系统x

brew install optipng mozjpeg gifsicle
ln -s /usr/local/Cellar/mozjpeg/3.1/bin/jpegtran /usr/local/bin/mozjpeg
brew install jonof/kenutils/pngout

debian/ubuntu

apt-get install optipng gifsicle python-imaging

如果您不想使用下面的说明安装mozjpeg,那么 使用jpegtran:

apt-get install libjpeg-progs

红帽/软呢帽

yum install optipng gifsicle python-imaging

如果您不想使用下面的说明安装mozjpeg,那么 使用jpegtran:

yum install libjpeg-progs

mozjpeg

mozjpeg提供比libjpeg progs的jpegtran更好的压缩。至于 2015年10月,它可能会也可能不会为您的*nix打包,但即使在 是,picopt要求其单独编译的jpegtran版本 符号链接到路径中某处的“mozjpeg”。此安装示例 适用于OS X:

ln -s /usr/local/Cellar/mozjpeg/3.1/bin/jpegtran /usr/local/bin/mozjpeg

您可以在Robert Walter’s Blog

找到Linux指令

JPEG重新扫描

如果您不能安装mozjpeg,jpegrescan是一个更好的jpeg优化器 包含在libjpeg progs中的jpegtran,不幸的是它仍然 未打包:(

git clone https://github.com/kud/jpegrescan.git
ln -s jpegrescan/jpegrescan /usr/local/bin/jpegrescan

气动

pngout是optipng之后使用的有用压缩。它没有包装 对于Linux,但是您可能会找到最新的二进制版本on JonoF’s site。picopt查找二进制文件 称为picopt

picopt python包

pip install picopt

用法

优化目录中的所有JPEG文件:

picopt *.jpg

优化所有文件和递归目录:

picopt -r *

优化文件和递归目录并优化漫画书存档:

picopt -rc *

优化文件,但不优化无损文件:

picopt -OPG *

优化文件,但不优化JPEG:

picopt -JT *

优化文件,但不优化动画gif:

picopt -G *

只列出picopt.py会尝试优化的文件:

picopt -l *

优化iphoto库中的所有内容,但仅在上次 这样做了,跳过符号链接以避免大量重复工作。 不要将无损文件转换为PNG,因为那样会混淆iPhoto。 还要删除一个时间戳文件,这样我就不必记得上次 这样做:

picopt -rSYt -D '2013 June 1 14:00' 'Pictures/iPhoto Library'

有问题

如果picopt检测到时间戳文件位于或高于 当前目录树。漫画档案可能会出现这种情况 漫画档案本身比时间戳文件更新的地方 已处理,但存档文件中的文件比时间戳早 所以他们不是。目前的解决办法是移动漫画 将当前树以外的文件存档到临时目录中,然后 在那里处理。

包装

备选方案

imagemin看起来是 具有捆绑库的一体化cli和gui解决方案,因此 依赖性。Imageoptim是一体式的 OS X图形用户界面图像优化器。可以使用imageoptim命令行 an external program

未来

也许有一天每个人都会用 AVIFAV1所有的东西和这些 各种工具都将过时。或者如果苹果决定支持webp it 可能发生得更快。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何加载JNI。具有依赖项的动态库文件,但未获得未满足的链接错误?   java ResultSet元数据未返回第一行   无法从java xml解析器中的当前节点获取节点列表   java如何从for循环值创建单个数组   java如何在没有arrayList的情况下查找对象   java ItemizedOverlayWithFocus在聚焦osmdroid时显示另一个覆盖   java使用迭代器进行“向下”迭代的优雅方式   java如何使用OnListItemClick为listview和AlertDialog使用单独的arraylist?   arraylist读取txt文件Java中存储的数组   javascript IE 11与RicoLive Grid 2.2框架不兼容   java我能得到水豚的maven依赖性吗?   简单Escp Java:PrintPreviewPane在JDK7中不起作用   java取出给定字符串的一部分,并将所取部分作为变量返回?   java如何替换“instanceof”函数中的变量   来自url的Java utf8编码   java方法获取类Gregorianalendar?   安卓如何在java 7中使用AndroidStudio和DDMS监视器   java测试在JUnit4下运行,但不是在JUnit5下运行-编译干净,但执行0测试   java无法使用Azure服务总线发送消息